Подтвердить что ты не робот

Opencv 3.0.0-dev привязки python не работают должным образом

Я нахожусь на 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

что может быть не так с ним?

4b9b3361

Ответ 1

субмодуль cv2.cv удален в opencv3.0, также были изменены некоторые константы.

используйте вместо этого cv2.CASCADE_SCALE_IMAGE

(сделайте a help(cv2), чтобы увидеть обновленные константы)

Ответ 2

Извинения за удар, но выше не работает для меня, и я нашел альтернативное "решение", но у него могут быть нежелательные побочные эффекты, учитывая, что я знаю 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.