【问题标题】:Detect if an Image Pixel's Column or Row is a Line检测图像像素的列或行是否为线
【发布时间】:2014-09-28 20:02:18
【问题描述】:

我正在尝试检测扫描文档的边框,因为它有助于提高我的 OCR 提取率。边界被认为是边缘噪音,所以我必须摆脱它们。边框通常在图像中具有最高的密度。

我检查了图像中的每一列像素,并且密度最高的列可能是边框,当且仅当它是一条线。这就是我的问题出现的地方。我不知道如何检测像素列是否为线。

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: opencv image-processing line ocr noise


    【解决方案1】:

    您使用霍夫线变换,但它会为您需要进行 OCR 的数据提供线。

    根据您的问题,我能想到的最简单的解决方案就是这个。 由于它的边界,您可以根据宽度和高度的一些阈值来减少搜索空间。 例如,如果您的图像是 'wx h' 并且您的搜索空间宽度 's' 您的搜索空间将是 '0 to s' 'ws to w ' '0 到 s' 'hs 到 h'

    【讨论】:

    • 如何获取s/搜索空间的值?
    • 这取决于图像。如果您可以编辑问题并放置图像,那将很有帮助。如果每个图像的边框或多或少都是固定的,则可以硬编码“s”的值。此外,如果您的边框连接良好,您可以根据 CCL 标签移除边框。
    【解决方案2】:

    Opencv中有一个基于霍夫变换的线检测算法:Tutorial on Hough transform

    这将检测图像中存在的线条,您只需查看您检测为边框的像素是否属于检测到的线条之一。

    【讨论】:

      猜你喜欢
      • 2013-01-03
      • 1970-01-01
      • 1970-01-01
      • 2012-04-13
      • 2020-09-07
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      • 2018-12-09
      相关资源
      最近更新 更多