首页 理论教育 基于Hough变换的圆检测方法:融会贯通

基于Hough变换的圆检测方法:融会贯通

时间:2023-06-20 理论教育 版权反馈
【摘要】:Hough变换的基本原理在于,利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测给定图像是否存在给定性质的曲线。Hough变换的主要优点是受共线点的间隙和噪声影响较小。例程2-40为基于Hough变换检测圆的MATLAB源程序。针对Hough变换存在的运算量过大、内存占用多的缺点,从时频域和空间域两个角度提出了一种改进的直线快速检测方法。

基于Hough变换的圆检测方法:融会贯通

Hough变换的基本原理在于,利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测给定图像是否存在给定性质的曲线。Hough变换的主要优点是受共线点的间隙和噪声影响较小。因此,其思想可以推广到检测曲线,如对圆的检测,其参数空间增加到三维,即圆的方程为(x-a)2+(y-b)2=r2,通过Hough变换,将图像空间(xy)对应到参数空间(abr)。

978-7-111-42352-2-Chapter02-232.jpg

图2-55 例程2-39的运行结果

基于Hough变换检测圆的基本思想是:对参数空间适当量化,得到一个三维的累加器阵列,并计算图像每点强度的梯度信息得到边缘,再计算与边缘上的每一个像素xiyi)距离半径为r的所有点,同时将相应立方小格的累加器加1。当检测完毕后,对三维阵列的所有累加器求峰值,大于所设定阈值的峰值小格的坐标就对应着图像空间圆形边界的圆心。例程2-40为基于Hough变换检测圆的MATLAB源程序

例程2-40

978-7-111-42352-2-Chapter02-233.jpg

978-7-111-42352-2-Chapter02-234.jpg

在MATLAB中输入如下命令段,可以得到如图2-56所示的结果。

978-7-111-42352-2-Chapter02-235.jpg(www.xing528.com)

978-7-111-42352-2-Chapter02-236.jpg

图2-56 程序2-40的运行结果

经验分享:如何对Hough变换进行改进,以提高其检测速度

Hough变换是一种全局转换,其实质是对图像进行坐标变换,将图像空间的点映射到参数空间。

针对Hough变换存在的运算量过大、内存占用多的缺点,从时频域和空间域两个角度提出了一种改进的直线快速检测方法。如图2-57所示,该算法主要包括小波提升、二值化和采用改进型Hough变换提取直线参数三个步骤。小波提升主要是用于提取图像低频轮廓信息、抑制高频噪声;然后,对像素降低后的图像采用微分算子进行二值化处理;再次,基于“两点确定一条直线”以及Hough变换过程中“图像空间中同一直线上的多个点对应参数空间中一个点”的原理,对Hough变换进行了改进。将二值化后图像空间中的非零点映射到参数空间中具有较大存在概率的单元,而不是所有可能的单元。

978-7-111-42352-2-Chapter02-237.jpg

图2-57 改进型直线检测算法步骤示意图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈