web-dev-qa-db-fra.com

opencv 3.0.0-dev python ne fonctionnent pas correctement

Je suis sur ubuntu 14.04.02, j'ai installé et mis à jour python, cython et numpy. j'ai tiré les dernières sources de cv ouvert de http://github.com/itseez/opencv , compilé selon la documentation ... en essayant d'exécuter le python = source que j'ai extraite de https://github.com/shantnu/FaceDetect/ cela me donne l'erreur suivante:

modprobe: FATAL: Module nvidia introuvable. Traceback (dernier appel le plus récent): fichier "face_detect.py", ligne 21, dans flags = cv2.cv.CV_HAAR_SCALE_IMAGE AttributeError: l'objet 'module' n'a pas d'attribut 'cv'

pour m'assurer d'avoir les liaisons python j'ai tapé ce qui suit dans le terminal: python

import cv2
cv2.__version__

il a renvoyé le '3.0.0-dev' suivant

qu'est-ce qui pourrait ne pas y arriver?

18
Aly Shmahell

le sous-module cv2.cv a été supprimé dans opencv3.0, certaines constantes ont également été modifiées.

veuillez utiliser cv2.CASCADE_SCALE_IMAGE à la place

(faites une help(cv2) pour voir les constantes mises à jour)

50
berak

Toutes mes excuses pour la bosse, mais ce qui précède n'a pas fonctionné pour moi, et j'ai trouvé une "solution" alternative, mais cela peut avoir des effets secondaires indésirables, étant donné que je connais SFA à propos d'OpenCV.

La solution simple est de le mettre à 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
)

Comme vous pouvez le voir ... je viens de le mettre à 0 et je pourrais continuer ma vie.

J'ai essayé un grand nombre de combinaisons et je n'ai pas pu faire fonctionner CASCADE_SCALE_IMAGE.

Cette explication doco openCV me donne nadda, Zip, rien que de la confusion.

flags - Paramètre ayant la même signification pour une ancienne cascade que dans la fonction cvHaarDetectObjects. Il n'est pas utilisé pour une nouvelle cascade.

Cela l'a éclairci ...

Quoi qu'il en soit, l'exemple sur openCV le code à 0.

6
StuvdG