1

我想了解学校的霍夫变换。我知道我们不能表示平行于 Y 轴的垂直线(y = m*x+b)。但是我们可以用极坐标 r 和 theta 来做到这一点 (y= - cos(theta)/sin(theta) * x + r/sin(theta))。

但是可以说我有一条穿过这两点的线。P1(0,0) 和 P2(0, 100)。所以这是一条与 Y 轴完全相同的线。这如何用极坐标 r 和 theta 来表示?因为 r 是 0,所以 theta 也是 0。我不明白这条线如何在霍夫空间中表示......:/

谁可以给我解释一下这个?

4

1 回答 1

1

您的霍夫变换方程也可以写成(通常写成):

r = x*cos(theta) + y*sin(theta)

如果你设置了,这仍然可以解决r=0。实际上,这表示通过 (0,0) 处的像素的所有线。

对于通过 (0,0) 的垂直线的情况,我们有r=0theta=pi/2。这将导致:

0 = x*1 + y*0

这满足x=0和 any y。所以所有的像素都(0,y)形成了这条线。

于 2019-06-12T02:42:06.817 回答