【发布时间】:2014-09-28 20:02:18
【问题描述】:
我正在尝试检测扫描文档的边框,因为它有助于提高我的 OCR 提取率。边界被认为是边缘噪音,所以我必须摆脱它们。边框通常在图像中具有最高的密度。
我检查了图像中的每一列像素,并且密度最高的列可能是边框,当且仅当它是一条线。这就是我的问题出现的地方。我不知道如何检测像素列是否为线。
任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: opencv image-processing line ocr noise
我正在尝试检测扫描文档的边框,因为它有助于提高我的 OCR 提取率。边界被认为是边缘噪音,所以我必须摆脱它们。边框通常在图像中具有最高的密度。
我检查了图像中的每一列像素,并且密度最高的列可能是边框,当且仅当它是一条线。这就是我的问题出现的地方。我不知道如何检测像素列是否为线。
任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: opencv image-processing line ocr noise
您使用霍夫线变换,但它会为您需要进行 OCR 的数据提供线。
根据您的问题,我能想到的最简单的解决方案就是这个。 由于它的边界,您可以根据宽度和高度的一些阈值来减少搜索空间。 例如,如果您的图像是 'wx h' 并且您的搜索空间宽度 's' 您的搜索空间将是 '0 to s' 'ws to w ' '0 到 s' 'hs 到 h'。
【讨论】:
Opencv中有一个基于霍夫变换的线检测算法:Tutorial on Hough transform
这将检测图像中存在的线条,您只需查看您检测为边框的像素是否属于检测到的线条之一。
【讨论】: