我一直在寻找使用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)
答案 0 :(得分:1)
这个问题出现在Google搜索上,对我不起作用(len(circles)
始终显示1)。所以我改用len(circles[0,:])
。
答案 1 :(得分:0)
circles
是一个列表,每个找到的圆圈都有一个元素。文档说明[0]:
“圆圈 - 找到圆圈的输出矢量。每个矢量编码为3元素浮点矢量(x,y,半径)。”
因此len(circles)
会为您提供圈数。