Ответ 1
субмодуль cv2.cv удален в opencv3.0, также были изменены некоторые константы.
используйте вместо этого cv2.CASCADE_SCALE_IMAGE
(сделайте a help(cv2)
, чтобы увидеть обновленные константы)
Я нахожусь на ubuntu 14.04.02, у меня установлены и обновлены python, cython и numpy. Я вытащил последние источники открытого cv из http://github.com/itseez/opencv, скомпилированный в соответствии с документацией... при попытке запустить источник python я вытащил из https://github.com/shantnu/FaceDetect/ это дает мне следующую ошибку:
modprobe: FATAL: модуль nvidia не найден. Traceback (последний последний вызов): Файл "face_detect.py", строка 21, в flags = cv2.cv.CV_HAAR_SCALE_IMAGE AttributeError: объект 'module' не имеет атрибута 'cv'
чтобы убедиться, что у меня есть привязки python, я набрал в терминале следующее: Python
import cv2
cv2.__version__
он вернул следующее "3.0.0-DEV
что может быть не так с ним?
субмодуль cv2.cv удален в opencv3.0, также были изменены некоторые константы.
используйте вместо этого cv2.CASCADE_SCALE_IMAGE
(сделайте a help(cv2)
, чтобы увидеть обновленные константы)
Извинения за удар, но выше не работает для меня, и я нашел альтернативное "решение", но у него могут быть нежелательные побочные эффекты, учитывая, что я знаю SFA о openCV.
Простое решение просто устанавливает значение 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 )
Как вы можете видеть... я просто установил его в 0 и смог продолжить свою жизнь.
Я пробовал все количество комбинаций, и я не мог заставить работать CASCADE_SCALE_IMAGE.
Это объяснение openCV doco дает мне nadda, zip, ничего, кроме путаницы.
flags - Параметр с тем же значением для старого каскада, что и в функции cvHaarDetectObjects. Он не используется для нового каскада.
Это очистило его...
Во всяком случае, пример на openCV hard указывает на 0.