hough circle detection remove unnecessary circles

Viewed 1579

I am getting a lot of circles using hough circle detection algo on an image. how to make this detection more accurate?

picture showing circles detected.

original picture

FOLLOWING CODE IS USED

import cv2
import numpy as np

img = cv2.imread('test_c.jpg',0)

img = cv2.medianBlur(img,5)

cimg = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)

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

circles = np.uint16(np.around(circles))

for i in circles[0,:]:

    # draw the outer circle
    cv2.circle(cimg,(i[0],i[1]),i[2],(0,255,0),2)
    # draw the center of the circle
    cv2.circle(cimg,(i[0],i[1]),2,(0,0,255),3)

cv2.imshow('detected circles',cimg)

cv2.waitKey(0)

cv2.destroyAllWindows()`
1 Answers
Related