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

时间:2015-07-28 21:01:39

标签: python-2.7 image-processing hough-transform opencv3.0 particles

我一直在寻找使用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)

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

“圆圈 - 找到圆圈的输出矢量。每个矢量编码为3元素浮点矢量(x,y,半径)。”

因此len(circles)会为您提供圈数。

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