霍夫变换圆形检测
- 一、检测原理
- 二、实现步骤
- 三、算法实现
一、检测原理
HoughCircles 参数说明:
HoughCircles(
InputArray image, // 输入图像 ,必须是 8 位的单通道灰度图像
OutputArray circles, // 输出结果,发现的圆信息
Int method, // 方法 - HOUGH_GRADIENT
Double dp, // dp = 1; //用来检测圆心的累加器图像的分辨率与输入图像之比的倒数
Double mindist, // 10 最短距离-可以分辨是两个圆的,否则认为是同心圆- src_gray.rows/8
Double param1, // canny edge detection low threshold
Double param2, // 中心点累加器阈值 – 候选圆心(有多少个圆心重叠)
Int minradius, // 最小半径
Int maxradius //最大半径
)
二、实现步骤
- 1.因为霍夫圆检测对噪声比较敏感,所以首先要对图像做中值滤波。
- 2.基于效率考虑,Opencv 中实现的霍夫变换圆检测是基于图像梯度的实现,分为两步: 1. 检测边缘,发现