将坐标分裂为3个子空间以解决无界

时间:2010-11-04 06:14:17

标签: algorithm image-processing hough-transform

我正在尝试实施Cascaded Hough Transform(我已经实现了'普通'版本。)但是我无法理解以下内容:

在图像上应用HT后,我在霍夫空间中留下了直线。 HT的级联版本要求我将霍夫空间分成3个子空间,以便解决无界值的问题。

我该怎么做呢?

以下是霍夫空间如何分割的图片:alt text

  

为了在保持对称空间对偶性的同时恢复参数空间的有界性,我们将(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上不欢迎这类问题,我很抱歉 - 是否有其他网站可以提出有关算法的问题?

Source for the image and the above quote

1 个答案:

答案 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