HoughCircles cercle de détection à l'aide d'opencv et python-

Je suis en train d'utiliser OpenCV (Hough)Cercle de détection.. détecter les cercles. J'ai créé un solide cercle sur un fond noir, a essayé de jouer avec les paramètres, utilisé flou et tout et tout, mais je ne suis pas en mesure de le faire trouver quoi que ce soit.

Toutes les idées, suggestions, etc. ce serait génial, merci!!!!

mon code actuel est quelque chose comme ceci:

import cv2
import numpy as np

"""
params = dict(dp=1,
              minDist=1,
              circles=None,
              param1=300,
              param2=290,
              minRadius=1,
              maxRadius=100)
"""

img = np.ones((200,250,3), dtype=np.uint8)
for i in range(50, 80, 1):
    for j in range(40, 70, 1):
        img[i][j]*=200

cv2.circle(img, (120,120), 20, (100,200,80), -1)


gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
canny = cv2.Canny(gray, 200, 300)

cv2.imshow('shjkgdh', canny)
gray = cv2.medianBlur(gray, 5)
circles = cv2.HoughCircles(gray, cv2.cv.CV_HOUGH_GRADIENT, 1, 20,
              param1=100,
              param2=30,
              minRadius=0,
              maxRadius=0)

print circles
circles = 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.imshow('circles', img)
k = cv2.waitKey(0)
if k == 27:
    cv2.destroyAllWindows()
Ok, pour une raison quelconque, il tout d'un coup fonctionne avec très peu de paramètres. Je suis passé par tout depuis hier, sans que rien ne fonctionne, mais maintenant, il n'. Il ne fait pas beaucoup de sens pour moi, mais bon...
Hough cercles est un peu.. difficile, dans la pratique.

OriginalL'auteur Shin | 2014-10-08