2015-05-03 1 views
18

Ich bin auf Ubuntu 14.04.02, ich habe Python, Cython und Numpy installiert und aktualisiert. i zog die neusten Quellen offener cv von http://github.com/itseez/opencv, zusammengestellt nach der Dokumentation ... beim Versuch, die Python-Quelle zu laufen i von https://github.com/shantnu/FaceDetect/ zog es mir die folgende Störung ist zu geben:opencv 3.0.0-dev python bindings funktioniert nicht richtig

modprobe: FATAL: Module nvidia not found. Traceback (most recent call last): File "face_detect.py", line 21, in flags = cv2.cv.CV_HAAR_SCALE_IMAGE AttributeError: 'module' object has no attribute 'cv'

, um sicherzustellen, ich habe die python-Bindings i folgend im Terminal eingeben: python

import cv2 
cv2.__version__ 

es gab die folgenden '3.0.0-dev'

was könnte daran falsch sein?

Antwort

50

Das Submodul cv2.cv wurde in opencv3.0 entfernt, auch einige Konstanten wurden geändert.

benutzen Sie bitte cv2.CASCADE_SCALE_IMAGE statt

(mit dem help(cv2) die aktualisierten Konstanten zu sehen)

+0

Das funktionierte, danke. und nachdem ich help (cv2) eingegeben habe, unter DATA habe ich CASCADE_SCALE_IMAGE = 2 gefunden, aber ich bin mir nicht sicher, was ich von dieser Konstante machen soll (wie es relativ zur Implementierung ist) –

6

Apologies für die Beule, aber die oben nicht für mich arbeiten, und ich fand eine alternative „Lösung“ , aber es kann unerwünschte Nebenwirkungen haben, wenn ich SFA über openCV kenne.

Die einfache Lösung wird es nur auf 0.

# Detect faces in the image 
faces = faceCascade.detectMultiScale(
    gray, 
    scaleFactor=1.1, 
    minNeighbors=5, 
    minSize=(30, 30), 
# flags = cv2.cv.CV_HAAR_SCALE_IMAGE 
    flags = 0 
) 

Wie man sehen kann ... Ich kann es nur auf 0 gesetzt und mit meinem Leben weitermachen konnte.

Ich habe versucht alle Anzahl von Kombinationen, und ich konnte nicht die CASCADE_SCALE_IMAGE arbeiten.

This openCV doco explaination gibt mir Nadda, zip, nichts als Verwirrung.

flags – Parameter with the same meaning for an old cascade as in the function cvHaarDetectObjects. It is not used for a new cascade.

Das ist es aufgeräumt ...

das Beispiel auf OpenCV Wie auch immer, es ist schwer Codes auf 0

+2

Das scheint eine einfache Möglichkeit zu sein. Mann von Problemen zwischen Versionen zu Mangel an der richtigen Dokumentation, OpenCV ist sicher ein Schmerz. –