使用霍夫变换在二值图像中搜索加号

Searching for plus sign in binary image using Hough Transform

我有一张包含白色和黑色像素的二值图像。我需要在该二进制图像中搜索加号 (3x3)。

0: 对于白色像素

1:对于暗像素

00000000
01000100
01001110
00000100
00000000
01000000
00100110
00000000

上面的二进制图像中有一个加号。我如何使用霍夫变换找到它? hough 的尺寸是多少 space?

我的方法是在上图中找到两条线,但我不确定。我不是在寻找代码,只是在寻找如何找到该加号的说明。

Hough space 中的一个点需要完整描述您要定位的对象。如果您正在寻找无界线,通常会将线的极坐标(到原点的角度和距离)存储在 Hough space 中。当试图定位 3x3 加号时,这种标志的中心像素的位置恰好可以完整地描述它。毕竟,如果您知道中心像素在哪里,您就知道其他黑色像素在哪里。因此,您将中心像素位置存储在 Hough space 中,因此其维度为 2.

现在,填充 Hough space 的方式通常如下:

对于您遇到的 B/W 图像中的每个黑色像素,您假设它是感兴趣对象的一部分。但是,知道 (x, y) 处的像素是您感兴趣的对象的一部分不足以在 Hough space 中定位该对象。更准确地说,Hough space 中将有多个对象都包含 (x, y) 处的特定像素。此时您需要弄清楚如何枚举所有这些对象。一旦你这样做了,你只需为你枚举的每个对象增加 Hough space 中的值。

在您的情况下,枚举对象非常简单,因为您需要做的就是枚举 3x3 加号图案中的所有黑色像素,并为每个这样的像素找出从该像素到中央一号。一旦知道了加号的某个像素的位置和到中心像素的矢量,您也就知道了中心像素的位置。该位置是 Hough space 中的一个点,您需要递增。