openCV中的HoughCircle检测到网格中的多个圆圈?

时间:2017-09-29 05:09:05

标签: opencv

这是一个10x10的网格。它只有3个圆圈,我使用Paint绘制(2,4),(6,1)和(10,7)。它检测到一堆圆圈。 代码:

import numpy as np
import cv2

img = cv2.imread('100-blocks-1.png', 0)
cimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 50, \
    param1 = 50, param2 = 30, minRadius = 0, maxRadius = 0)

cricles = np.uint16(np.around(circles))
for i in circles[0,:]:
   cv2.circle(img, (i[0], i[1]), i[2], (0, 255, 0), 2)

  cv2.circle(img, (i[0], i[1]), 2, (0,0,255), 3)


cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image', img)
cv2.imwrite('ahihi.png', img)
cv2.waitKey(0)

请帮我发现问题

enter image description here

1 个答案:

答案 0 :(得分:0)

在我看来,你应该改变霍夫圈参数。最小半径为,例如5像素。