了解霍夫变换

时间:2019-06-12 01:27:17

标签: opencv image-processing hough-transform houghlinesp

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

但是可以说我有一条直线贯穿这两个点。 P1(0,0)和P2(0,100)。因此,这条线与Y轴完全相同。 极坐标r和theta怎么表示呢? 因为r是0,所以theta也是0。我不明白如何在hough空间中表示这条线...:/

有人可以向我解释吗?

1 个答案:

答案 0 :(得分:1)

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

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

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

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

0 = x*1 + y*0

x=0和任何y都可以满足。因此,所有像素(0,y)都形成这条线。