9

我正在尝试实现级联霍夫变换(我已经实现了“正常”版本。)但我无法理解以下内容:

在图像上应用 HT 后,我在霍夫空间中留下了直线。HT的Cascaded版本需要我将霍夫空间分成3个子空间,这样就解决了无界值的问题。

我该怎么做呢?

这是霍夫空间如何分割的图片:替代文字

为了在保留对称空间对偶性的同时恢复参数空间的有界性,我们将(a,b)-空间拆分为三个有界子空间,如下图所示。第一个子空间也有坐标 a 和 b,但仅限于 | 一个 | <= 1 和 | 乙 | <= 1. 如果 | 一个 | > 1 和 | 乙 | <= | 一个 | ,点 (a, b) 出现在第二个子空间中,坐标为 1/a 和 b/a。如果,最后,| 乙 | > 1 和 | 一个 | < | b |,我们使用坐标为 1/b 和 a/b 的第三个子空间。

这是我感到非常困惑的地方,假设我在霍夫空间中有一条线。违反了怎么拆分 | 天天要闻 一个 | <= 1 和 | 乙 | <= 1?

我是否只是简单地遍历该行中的所有像素,如果有问题的像素的坐标大于 | 一个 | <= 1 和 | 乙 | <= 1,我将它绘制在第二个子空间中?

如果 Stack Overlow 不欢迎这类问题,我深表歉意——还有其他网站可以问有关算法的问题吗?

图片来源和以上报价

4

1 回答 1

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
于 2011-10-04T01:09:00.203 回答