1 实验目的
了解轮廓检测的原理,检测出图像中的圆。
2 实验设备
安装了python和pychrm的电脑一台。
3 实验内容
包含图片的导入、检测图像中的圆,显示图片。
4 实验原理
霍夫圆检测:
图形可以用一些参数进行表示,标准霍夫变换的原理就是把图像空间转换成参数空间(即霍夫空间),例如霍夫变换的直线检测就是在距离-角度空间内进行检测。圆可以表示成:
![]()
其中a和b表示圆心坐标,r表示圆半径,因此霍夫变换的圆检测就是在这三个参数组成的三维空间内进行检测。原则上,霍夫变换可以检测任何形状。但复杂的形状需要的参数就多,霍夫空间的维数就多,因此在程序实现上所需的内存空间以及运行效率上都不利于把标准霍夫变换应用于实际复杂图形的检测中。所以一些改进的霍夫变换就相继提出,它们的基本原理就是尽可能减小霍夫空间的维数。

示例图
有一系列的点,它们是在同一个圆上,这里已经把圆的轮廓给出来了,这里只画了圆的一半,但已经足够说明问题了。要检测这个图像中的圆应该怎么办?还是用同样的思考方式,来个空间转换。将上面圆的方程重新写一下:
![]()
这时有三个参数,圆心(a,b),半径r。
过一点的圆有多少个?无数个。以上图的第1个点(−2,1)为例,把它代入方程
![]()
得到:
,这个方程描述的圆都经过点(−2,1)(-2,1)(−2,1),它们在参数空间上看起来是这样的:

示例图
这里r取的是[1,2,3,4,5],没取成无限的,要是取成无限了,图就没有办法看

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



