霍夫变换直线检测的matlab实现

霍夫(Hough)变换:用于将边缘像素连接起来得到边界曲线,优点是受噪声和曲线间断的影响较小。

在已知曲线形状的条件下,霍夫变换基于分散的边缘点进行曲线逼近,得到曲线的数学方程及参数。

1.霍夫变换的基本原理

    1.1霍夫变换的基本原理

    基本思想是点-线的对偶性(duality)。图像变换前在图像空间,变换后在参数空间。

    在图像空间中,过点(x1,y1)的通用直线方程可以写为:y1=ax1+b,也可写成b=-ax1+y1,后者表示在参数空间里的一条直线。
同理,过点(x2,y2)有y2=ax2+b,也可写成b=-ax2+b2,它表示参数空间里的另一条直线。
设参数空间中两线相交于点(a’,b’),那么点(a’,b’)对应于图像空间中一条过(x1,y1) , (x2,y2)的直线。
因为它满足 y1=a’x1+b’ 和y2=a’x2+b’。


    由此可知,在图像空间中共线的点对应在参数空间里的相交的线。反过来,在参数空间中相交于同一个点的所有直线在图像空间里都有共线的点与之对应。这就是点-线对偶性。
    根据点-线对偶性,当给定图像空间中的一些边缘点,就可通过霍夫变换确定连接这些点的直线方程。

你可能感兴趣的:(machine,vision)