我正在尝试使用 python wrapper for opencv 查找图像上的所有圆形对象。像这样的东西。
使用cv2.HoughCircles但我找不到最佳参数。有可能吗?
我的代码:
import cv, cv2
import numpy as np
im = cv2.imread("C:/1.jpg")
grey = cv2.cvtColor(im, cv.CV_RGB2GRAY)
blur= grey
#blur = cv2.GaussianBlur(grey, (0,0), 10)
circles = cv2.HoughCircles(blur, cv2.cv.CV_HOUGH_GRADIENT, 2, 5, np.array([]), 40, 80, 5, 50)#params?
if circles is not None:
for c in circles[0]:
cv2.circle(im, (c[0],c[1]), c[2], (0,255,0),2)
edges = cv2.Canny( blur, 40, 80 )
cv2.imwrite("C:/circle.jpg",im)
cv2.imwrite("C:/canny.jpg",edges)