霍夫变换于1972年提出,最开始用于图像的直线检测,后来拓展到圆,曲线等的检测
对于一条直线y=kx+b,(x,y)就是一个点.若转换为b=-xk+y,是不是也可以将(k,b)看作另一个空间中的点?这个空间就是k-b参数空间.
在x-y图像空间中的一点,对应k-b空间的一条直线.
而x-y图像空间中的两点连线,对应k-b空间的一个交点.
霍夫变换检测直线的原理:若x-y图像空间有很多点在k-b空间中相交于一点,那么这个交点就是我们要检测的直线.
由于当图像空间中有一条垂直直线时,其斜率未定义.
为避免这种情况,霍夫变换采用了另一个参数空间:距离-角度参数空间
点(x,y)与距离,角度的关系就为
因此,在新的距离-角度参数空间中,图像中的一个点变成了一个正弦曲线,而不是k-b参数空间中的直线了.
这些正弦曲线的交点就是图像空间中我们要检测的直线了.