web-dev-qa-db-fra.com

AttributeError: l'objet 'module' n'a pas d'erreur 'face' d'attribut même après l'installation de opencv-contrib

J'essayais d'implémenter une reconnaissance faciale à l'aide de Python, OpenCv2 et LBPH (Qui est téléchargé depuis ICI )

Ma version de python est 2.7.14
La version PIP est 9.0.3
et la version OpenCV est 3.4.0

et mon code est 

import cv2
import numpy as np
import NameFind

# --- import the Haar cascades for face and eye ditection
face_cascade = cv2.CascadeClassifier('Haar/haarcascade_frontalcatface.xml')
eye_cascade = cv2.CascadeClassifier('Haar/haarcascade_eye.xml')
spec_cascade = cv2.CascadeClassifier('Haar/haarcascade_eye_tree_eyeglasses.xml')

help(cv2.face)
# FACE RECOGNISER OBJECT
LBPH = cv2.face.LBPHFaceRecognizer_create(2, 2, 7, 7, 20)
EIGEN = cv2.face.createEigenFaceRecognizer(10, 5000)
FISHER = cv2.face.createFisherFaceRecognizer(5, 500)

# Load the training data from the trainer to recognise the faces
LBPH.load("Recogniser/trainingDataLBPH.xml")
EIGEN.load("Recogniser/trainingDataEigan.xml")
FISHER.load("Recogniser/trainingDataFisher.xml")

# ------------------------------------  PHOTO INPUT  -----------------------------------------------------

img = cv2.imread('Me4.jpg')                  # ------->>> THE ADDRESS TO THE PHOTO

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)                # Convert the Camera to gray
faces = face_cascade.detectMultiScale(gray, 1.3, 4)         # Detect the faces and store the positions
print(faces)

for (x, y, w, h) in faces:                                  # Frames  LOCATION X, Y  WIDTH, HEIGHT

    Face = cv2.resize((gray[y: y+h, x: x+w]), (110, 110))   # The Face is isolated and cropped

    ID, conf = LBPH.predict(Face)                           # LBPH RECOGNITION
    print ID
    NAME = NameFind.ID2Name(ID, conf)
    NameFind.DispID(x, y, w, h, NAME, gray)

    ID, conf = EIGEN.predict(Face)                          # EIGEN FACE RECOGNITION
    NAME = NameFind.ID2Name(ID, conf)
    NameFind.DispID3(x, y, w, h, NAME, gray)

    ID, conf = FISHER.predict(Face)                         # FISHER FACE RECOGNITION
    NAME = NameFind.ID2Name(ID, conf)
    NameFind.DispID2(x, y, w, h, NAME, gray)

cv2.imshow('LBPH Face Recognition System', gray)           # IMAGE DISPLAY
cv2.waitKey(0)
cv2.destroyAllWindows()

Je reçois cette erreur lorsque je lance un fichier de reconnaissance faciale tel que Recogniser_Image_All_Algorithms.py

Traceback (dernier appel passé): Fichier "Recogniser_Image_All_Algorithms.py", ligne 11, dans LBPH = cv2.face.LBPHFaceRecognizer_create (2, 2, 7, 7, 20) AttributeError: l'objet 'module' n'a pas d'attribut 'face'

J'ai googlé l'erreur et trouvé les mêmes réponses que THIS ONE

après avoir vérifié ces flux, j'ai essayé d'installer opencv-contrib en utilisant python -m pip installer opencv-contrib-python

ça dit

Condition déjà satisfaite: opencv-contrib-python in c:\users\rak\anaconda3\lib\site-packages Condition préalable déjà satisfait: numpy> = 1.11.3 dans c:\users\rak\anaconda3\lib\site-packages (de opencv-contrib-python)

mais l'erreur reste la même, comment résoudre cette erreur. aide plz

4
rakcode

J'ai installé opencv pour python en utilisant Sudo pour installer python-opencv & Reçu erreur "AttributeError: l'objet 'module' n'a pas d'attribut 'face'" ". Ma configuration système est basée sur OS Ubuntu 16.04 Python 2.7.12. J'ai utilisé la commande suivante pour résoudre le problème: Sudo peut supprimer python-opencv Et installé la même bibliothèque à l'aide de pip Sudo pip installer opencv-contrib-python

Maintenant, opencv fonctionne absolument bien.

1
user2712873

Je découvre le problème moi-même! Le problème était que j'avais opencv-python installé, i désinstallé opencv-python et exécuté pip install opencv-contrib-python cela fonctionnait. 

Merci de voter contre la question sans raison, même sans me dire ce que j'ai fait de mal, sans commentaire ni réponse

5
rakcode