您的位置:首页 > 其它

Hough变换检测直线

2010-01-23 22:04 281 查看
Hough变换就是对于图象中某些符合参数模型的主导特征,如直线、圆、椭圆等,可以通过对其参数进行聚类的方法,抽取相应的特征。

例如,直线在极坐标系下具有如下的参数方程形式:



首先将参数空间量化为等间隔的小区域,然后针对超过给定阈值的所有边缘点,对于每个边缘点将其映射到的参数空间中的小区域
中,记数落到每个小区域的点数。最后,取具有最大频度的若干小区域的参数作为线条特征的参数,得到图象中主导性的线条特征。



中(a)左图为图像空间的直线的极坐标表示,右图为参数空间表示;(b)对直线上每个点进行都变换到参数空间进行投票。
算法流程如下:
1) 构建量化的参数空间,横轴为原点到直线的距离d,纵轴为直线的倾角

,一般取d
的量化间隔为1 个像素,

的量化间隔为1度。
2) 对输入图像首先进行边缘提取,实验中使用的是Canny 算子。



3)对边缘上的每一个点,在参数空间,对每一个

计算对应的


然后绘制出相应的

曲线,这就相当于对相应的参数空间的参数对进行投票。
4)选择票数最多的那个参数对

作为该直线的参数,这里需要确定一个阈值, 参数空间中大于该阈值的元素才被考虑为可行直线参数, 同时需要在参数空间计算 局部的极大值。总的说来,参数空间满足如下两个条件的点才能够做为直线参数输出:
i. 该点为局部极大值
ii. 该点的值大于阈值。

Hough变换检测的结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: