我正在尝试实施Cascaded Hough Transform(我已经实现了'普通'版本。)但是我无法理解以下内容:
在图像上应用HT后,我在霍夫空间中留下了直线。 HT的级联版本要求我将霍夫空间分成3个子空间,以便解决无界值的问题。
我该怎么做呢?
以下是霍夫空间如何分割的图片:
为了在保持对称空间对偶性的同时恢复参数空间的有界性,我们将(a,b) - 空间分成三个有界子空间,如下图所示。第一个子空间也有坐标a和b,但仅适用于| a | < = 1和| b | < = 1.如果| a | > 1和| b | < = | a | ,点(a,b)在第二个子空间中出现,坐标为1 / a和b / a。如果,最后,| b | > 1和| a | < | b |,我们使用坐标为1 / b和a / b的第三个子空间。
这里是我非常困惑的地方,假设我在霍夫空间中有一条线。如果它违反了|将如何拆分a | < = 1和| b | < = 1?
我是否只是遍历线条中的所有像素,如果相关像素的坐标大于| a | < = 1和| b | < = 1,我将它绘制在第二个子空间中?
如果在Stack Overlow上不欢迎这类问题,我很抱歉 - 是否有其他网站可以提出有关算法的问题?
答案 0 :(得分:1)
假设你有一个点(x, y)
。在所示的霍夫变换下,它转到
a x + b + y = 0
这对应于每个子空间图中的不同行:
Subspace 1: a x + b + y = 0
Subspace 2: x + (b/a) + (1/a) y = 0
Subspace 2: (a/b) x + 1 + (1/b) y = 0
例如,点(2, 1)
可以获得三行:
Subspace 1: 2a + b + 1 = 0
Subspace 2: 2 + (b/a) + (1/a) = 0
Subspace 2: 2(a/b) + 1 + (1/b) = 0
或投入y = m x + c
表格:
Subspace 1: y = -2x - 1
Subspace 2: y = -x - 2
Subspace 2: y = -x/2 - 1