霍夫变换

使用极坐标表示一条直线,可以由参数极径和极角$(\gamma, \theta)$表示。霍夫变换就采用这种表示直线的方式。即 $\gamma=xcos\theta + ysin\gamma$。意味着每一对$(\gamma, \theta)$代表一条通过点$(x. y)$的直线。如果对于一个给定点$(x, y)$,我们在极坐标对极径极角平面绘出所有通过它的直线,可以得到一条正弦曲线$(\gamma>0, 0<\theta<2\pi)$。对图像上所有点进行上述操作,如果两个不同点进行上述操作后发现曲线相交,则意味着他们通过同一条直线。以上说明,一般来说,一条直线能够通过在平面 $\theta-\gamma$上寻找交于一点的曲线数量来检测。越多曲线交于一点则意味着这个交点表示的直线又更多点组成。可以通过设置直线上点的阈值来定义多少条曲线交于一点才能被认为是检测到了一条直线。而这正是霍夫变换所要做的,霍夫变换考察图像中每个点对应曲线间的交点,如果交于一点的曲线的数量超过了阈值,则可以认为这个交点所代表的参数对$(\gamma, \theta)$在原图像中为一条直线。

Last updated