Hough变换
图像处理中,利用Hough变换检测直线。
算法思路:一条直线可以用如下的方程来表示:y=kx+b,k是直线的斜率,b是截距。图像是一个个离散的像素点构成的,如果在图像中有一条直线,那也是一系列的离散点构成的。直线方程:y=kx+b,(x,y)就是点。我们转换下变成:b=-kx+y。就也可以把(k,b)看作另外一个空间中的点。其图像空间与参数空间的关系见图1。
在x-y图像空间中的一个点,变成了k-b参数空间中的一条直线,而x-y图像空间中的2点连成的直线,变成了k-b参数空间中的一个交点。如果x-y图像空间中有很多点在k-b空间中相交于一点,那么这个交点就是我们要检测的直线。这就是霍夫变换检测直线的基本原理。图像空间中如果一条直线是垂直的,那么斜率k是没有定义的(或者说无穷大)。为了避免这个问题,霍夫变换采用了另一个参数空间:距离-角度参数空间。平面上的一个点也可以用距离-角度来定义,也就是极坐标:见图2.
待检测的立体靶标见下图:
检测