opencv中HoughCircles()函数的使用总结以及各个参数详解

HoughCircles(re_noise,cv2.HOUGH_GRADIENT,1,20,param1==100,param2=30,minRadius=0,maxRadius=100)

对此参数进行以下解释:
re_noise时对一幅彩色图片进行处理之后的单通道灰度图片
HOUGH_GRADIENT:是使用霍夫梯度法检测圆
1:这个参数是double类型的dp,用来检测圆心的累加器图像的分辨率于输入图像之比的倒数,且此参数允许创建一个比输入图像分辨率低的累加器。上述文字不好理解的话,来看例子吧。例如,如果dp= 1时,累加器和输入图像具有相同的分辨率。如果dp=2,累加器便有输入图像一半那么大的宽度和高度
param1:此参数是对应Canny边缘检测的最大阈值,最小阈值是此参数的一半 也就是说像素的值大于param1是会检测为边缘
param2:它表示在检测阶段圆心的累加器阈值。它越小的话,就可以检测到更多根本不存在的圆,而它越大的话,能通过检测的圆就更加接近完美的圆形了
minRadius:表示能够检测的最小圆的半径 这里我们设置为0是因为他也要检测圆心 而圆心可以看作是半径为0的圆
maxRadius:表示能够检测的最大圆的半径,这里我设置为100,那么表示圆半径大于100的圆不会被检测出来(这个是依据你要检测的图片而考虑)

原始图片:
opencv中HoughCircles()函数的使用总结以及各个参数详解_第1张图片
检测后的图片:
opencv中HoughCircles()函数的使用总结以及各个参数详解_第2张图片

你可能感兴趣的:(opencv)