Ответ 1
CV_HOUGH_GRADIENT
принадлежит модулю cv
, поэтому вам нужно будет импортировать это:
import cv2.cv as cv
и смените вызов функции на
circles = cv2.HoughCircles(gray,cv.CV_HOUGH_GRADIENT)
У меня есть следующий код, и я хочу определить круг.
img = cv2.imread("act_circle.png")
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
circles = cv2.HoughCircles(gray,cv2.CV_HOUGH_GRADIENT)
похоже, что у него нет атрибута, а ошибка следующая
'module' object has no attribute 'CV_HOUGH_GRADIENT'
Кто-нибудь знает, где находятся эти скрытые параметры?
Спасибо
CV_HOUGH_GRADIENT
принадлежит модулю cv
, поэтому вам нужно будет импортировать это:
import cv2.cv as cv
и смените вызов функции на
circles = cv2.HoughCircles(gray,cv.CV_HOUGH_GRADIENT)
В моем случае я использую opencv 3.0.0, и он работал следующим образом:
circles = cv2.HoughCircles(gray_im, cv2.HOUGH_GRADIENT, 2, 10, np.array([]), 20, 60, m/10)[0]
то есть. вместо cv2.cv.CV_HOUGH_GRADIENT
я использовал только cv2.HOUGH_GRADIENT
.
если вы используете OpenCV 3, используйте этот код:
img = cv2.imread("act_circle.png")
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
circles = cv2.HoughCircles(gray,cv2.HOUGH_GRADIENT) # change here