图像变换(10):霍夫圆变换:HoughCircles()函数
HoughCircles函数可以利用霍夫变换算法检测出灰度图中的圆。它相比之前的HoughLines和 HoughLinesP,比较明显的一个区别是不需要源图是二值的,而HoughLines和 HoughLinesP都需要源图为二值图像。
第一个参数,InputArray类型的image,输入图像,即源图像,需为8位的灰度单通道图像。
第二个参数,InputArray类型的circles,经过调用HoughCircles 函数后此参数存储了检测到的圆的输出矢量,每个矢量由包含了3个元素的浮点矢量(x,y,radius)表示。
第三个参数,int类型的 method,即使用的检测方法,目前OpenCV中就霍夫梯度法一种可以使用,它的标识符为HOUGH_GRADIENT(OpenCV2中可写作CV_HOUGH_GRADIENT),在此参数处填这个标识符即可。
第四个参数,double类型的dp,用来检测圆心的累加器图像的分辨率于输入图像之比的倒数,且此参数允许创建一个比输入图像分辨率低的累加器。例如,如果dp=1时,累加器和输入图像具有相同的分辨率。如果dp=2,累加器便有输入图像一半那么大的宽度和高度。
第五个参数,double类型的minDist,为霍夫变换检测到的圆的圆心之间的最小距离,即让