我正在开发一个应用程序,我需要像Cam Scanner这样的功能,在图像中检测文档。为此,我使用Canny Edge检测,然后使用Hough Transform。
结果看起来很有希望,但文档中的文字正在创建问题,如下图所示:
我的问题在于第三张图像,底部附近的原始图像中的文本强制执行hough变换以检测水平线(从底部开始的第二个簇)。
我知道我可以采用最大的四边形,并且在大多数情况下都可以正常工作,但我仍然想知道在这个处理过程中我可以忽略文本在边缘上的影响。
任何帮助都将不胜感激。
答案 0 :(得分:4)
我在500x700的图像中借助尺寸为15(正方形)的中值滤波器解决了文本问题。
中位数滤镜不会影响纸张的边界,但可以帮助完全消除文本。
使用它我能够获得更有效的界限。
答案 1 :(得分:1)
您可以尝试的另一种方法是使用阈值来查找纸张边界。这将创建二进制图像。然后,您可以检查白色像素的斑点,并查看是否有足够大的纸张并具有正确的尺寸。如果符合标准,您可以找到此斑点的最小/最大点来表示纸张。
有几种方法可以进行阈值处理,包括迭代,otsu和自适应。
此外,为了获得最佳效果,您可能需要扩展二进制图像以关闭表格中的黑线,如示例所示。