Python:检索使用 HoughCircles 找到的圆圈数

Python: Retrieve number of circles found with HoughCircles

我一直在寻找使用 HoughCirlces 来计算给定图像中出现的圆圈数量的方法,该图像只有黑色或白色,并且圆圈非常圆,因为它们来自粒子检测器并且出现了 alpha 粒子作为圆圈。以下代码片段是我目前正在使用的,但是一旦检测到圆圈,我就不知道如何找出找到了多少。任何帮助将不胜感激。

另一方面,如果有人有好的方法可以为给定类型的图像找到 HoughCircles 的准确参数值,这也会有所帮助,

image = cv2.imread(imPath)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
circles = cv2.HoughCircles(gray, cv2.cv.CV_HOUGH_GRADIENT, 1.2, 100)

circles 是一个列表,每个找到的圆都有一个元素。文档说明 [0]:

"circles – Output vector of found circles. Each vector is encoded as a 3-element floating-point vector (x, y, radius) ."

所以len(circles)给你圈数。

[0] http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=houghcircles#houghcircles

这个问题是在 Google 搜索中出现的,但对我不起作用(len(circles) 总是显示 1)。所以我改用 len(circles[0,:])