我花了很长时间去寻找问题所在,但我并没有真正理解参数和预处理的影响。我无法发布图片,但在一张非常清晰的欧元照片上,程序可以识别一些圆形而不是另外一些,即使它们与其他圆形完全一样清晰。
以下是我的代码:
'$' import cv2
import numpy as np
filename = r'C:\Users\roseline\Desktop\piecefacile.jpg'
img = cv2.imread(filename)
output = img.copy()
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #BGR donnant GRAY
circles = cv2.HoughCircles(gray, cv2.cv.CV_HOUGH_GRADIENT,1, 70, 200, 100)
if circles is not None:
circles = np.round(circles[0,:]).astype("int") #convertit en entier les données
for (x,y,r) in circles:
cv2.circle(output, (x,y), r, (0,255,0), 4)
cv2.rectangle(output, (x-2,y-2), (x+2,y+2), (0,128, 255), -1)
cv2.imshow("2015_TIPE_LE_DEM", np.hstack([img, output]))
cv2.waitKey(0)
非常抱歉给您带来了麻烦,我希望能有人帮助我并分享他所拥有的知识,让我也能受益。