1

我将首先解释现实世界应用程序中的问题;我有一个指向黑暗表面的相机。进纸器(只是简单的机器,当控制计算机告诉它时会吐出页面)将纸张送入相机正在寻找的区域。

我将使用 openCV 处理图像,并确定进纸器是否正确进纸。

这意味着我不仅要能够确定是否存在页面,还要确定是否存在多个页面。有时会送入多页,因为它们粘在一起,在这种情况下,这些页面非常接近彼此完美对齐,除非您仔细观察,否则它们在视觉上似乎是一页。

我遇到的问题是 Canny 边缘检测与霍夫变换相结合,并没有给我所需的准确度。使用 Canny 在图像中查找纸张的典型示例返回每个页面边缘为多行 (5-15) 的结果。使用查找轮廓确定这是一个矩形。

这些典型示例无济于事,因为我需要能够检测到另一条线非常靠近页面边缘。

我一直在玩霍夫变换的阈值以及我在 Canny 之前应用了多少模糊并且已经得到它相当可靠,但问题是我认为现在灵敏度太低并且任何页面都在上面提供此系统不会检测到示例(在彼此之上)。

例子: 喂养

上图有两个可见页面,一个刚刚从进纸器中出来。页面上有文字。我需要能够识别页面的角度,并且实际上只有一页。

我遇到的问题是我需要足够灵敏的行检测来判断是否有两个页面粘在一起,但我也不需要检测到页面上的文本行。

4

1 回答 1

0

我建议你不要寻找一张纸覆盖另一张纸的微弱线条,而是寻找这个白色区域的整体形状。如果你知道所有这些页面都是 A4 大小 - 你找到白色区域的矩形并检查角度是否正确以及边的比例是否为 2 的平方根。如果两张纸完全对齐 - 你会无论如何都不会检测到它,除非您以某种方式测量纸张的厚度。

有一个角检测过滤器可以帮助您找到矩形 ABCD 的角。然后你只需检查向量 AB 是否垂直于 BC 和 AD 等等。此外,如果在紧凑的白色区域内检测到超过 4 个具有合理阈值的角 - 这是一条消息“有些事情不正常”。

于 2017-12-10T13:54:11.090 回答