
Hough算法是一种利用图像全局特征连接边缘、识别几何形状的参数空间投票方法。其核心原理是通过将图像中的边缘点映射到参数空间,利用投票机制确定最可能的几何形状参数,尤其适用于直线、圆、椭圆等规则形状的检测。
参数空间映射对于直线检测,Hough变换将图像中的每个边缘点(如直角坐标系下的$(x,y)$)转换为极坐标参数空间$(r,theta)$中的曲线,其中$r$为直线到原点的距离,$theta$为直线与x轴的夹角。每个边缘点对应参数空间中的一条正弦曲线,多条曲线的交点即为可能的直线参数。对于圆形检测,参数空间扩展为三维$(x_c,y_c,r)$,其中$(x_c,y_c)$为圆心坐标,$r$为半径。算法通过统计参数空间中各点的投票数,峰值对应的参数即为检测到的圆。
投票与峰值检测在参数空间中构建累加器数组,每个边缘点对所有可能的参数组合进行投票。例如,直线检测中,每个边缘点会遍历$theta$的取值范围(如$0circ$),计算对应的$r$值并投票。最终,累加器中的局部最大值对应图像中的几何形状参数。
Hough算法通过参数空间的投票机制,实现了对几何形状的高效识别,尤其在复杂场景中表现突出,是计算机视觉领域的基础工具之一。
