2014-03-07 7 views
10

Ich habe einen kleinen Test Codeblock ein einfaches Foto mit einem Ball in sie zu verarbeiten versucht:Ich erhalte eine Fehlermeldung, wenn HoughCircles mit Python OpenCV mit, dass ein Modul fehlt

#!/usr/local/bin/python 
import cv2 
import numpy as np 

img = cv2.imread("b.jpg") 
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
circles = cv2.HoughCircles(gray,cv2.CV_HOUGH_GRADIENT) 

Wenn ich versuche, dies zu laufen Ich bekomme:

AttributeError: 'module' object has no attribute 'HOUGH_GRADIENT'

Ich habe für zwei Tage installiert und neu installiert, um herauszufinden, was falsch ist. Jede Hilfe oder Hinweise würden geschätzt werden!

+0

Welche Version von OpenCV verwenden Sie? –

Antwort

10

diese Zeile hinzu: import cv2.cv as cv und circles

circles = cv2.HoughCircles(gray,cv.CV_HOUGH_GRADIENT)

dh cv.CV_HOUGH_GRADIENT anstelle von cv2.CV_HOUGH_GRADIENT

Dadurch wird die AttributeError lösen wird sich ändern, die Sie waren immer, aber Sie werden immer noch eine Art Fehlermeldung erhalten, Sie müssen Argumente für dp und minDist (Argumente an Pos 3 und Pos 4) und dass Sie entsprechend geben können. (Hier habe ich 1 und 10 gegeben)

#!/usr/local/bin/python 
import cv2 
import cv2.cv as cv 
import numpy as np 

img = cv2.imread("test.jpg") 
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
circles = cv2.HoughCircles(gray,cv.CV_HOUGH_GRADIENT, 1, 10) 

auch bitte ein ähnliches Problem hier gelöst:

http://answers.opencv.org/question/1497/errors-with-cv2houghcircles/

9

versuchen

Kreise = cv2.HoughCircles (grau, cv2.cv.CV_HOUGH_GRADIEN T, 1.2, 75)

funktioniert, für mich

Verwandte Themen