图像处理之霍夫变换圆检测算法

之前写过一篇文章讲述霍夫变换原理与利用霍夫变换检测直线, 结果发现访问量还是蛮

多,有点超出我的意料,很多人都留言说代码写得不好,没有注释,结构也不是很清晰,所以

我萌发了再写一篇,介绍霍夫变换圆检测算法,同时也尽量的加上详细的注释,介绍代码

结构.让更多的人能够读懂与理解.

一:霍夫变换检测圆的数学原理

图像处理之霍夫变换圆检测算法_第1张图片

根据极坐标,圆上任意一点的坐标可以表示为如上形式, 所以对于任意一个圆, 假设

中心像素点p(x0, y0)像素点已知, 圆半径已知,则旋转360由极坐标方程可以得到每

个点上得坐标同样,如果只是知道图像上像素点, 圆半径,旋转360°则中心点处的坐

标值必定最强.这正是霍夫变换检测圆的数学原理.

二:算法流程

该算法大致可以分为以下几个步骤

图像处理之霍夫变换圆检测算法_第2张图片

三:运行效果

图像从空间坐标变换到极坐标效果, 最亮一点为圆心.

图像处理之霍夫变换圆检测算法_第3张图片

图像从极坐标变换回到空间坐标,检测结果显示:

图像处理之霍夫变换圆检测算法_第4张图片

四:关键代码解析

个人觉得这次注释已经是非常的详细啦,而且我写的还是中文注释

	/** 	 * 霍夫变换处理 - 检测半径大小符合的圆的个数 	 * 1. 将图像像素从2D空间坐标转换到极坐标空间 	 * 2. 在极坐标空间中归一化各个点强度,使之在0