AttributeError: у объекта 'module' нет ошибки атрибута 'face' даже после установки opencv-contrib - PullRequest
0 голосов
/ 25 апреля 2018

Я пытался реализовать распознавание лиц, используя Python, OpenCv2 и LBPH (который загружается из ЗДЕСЬ )

Моя версия Python - 2.7.14
Версия PIP - 9.0.3
и версия OpenCV - 3.4.0

, а мой код -

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()

Я получаю эту ошибку при запуске любых файлов распознавания лиц, таких как Recogniser_Image_All_Algorithms.py

Traceback (последний вызов был последним): файл "Recogniser_Image_All_Algorithms.py", строка 11, в LBPH = cv2.face.LBPHFaceRecognizer_create (2, 2, 7, 7, 20)AttributeError: у объекта 'module' нет атрибута 'face'

Я погуглил ошибку и нашел такие же ответы, как THIS ONE

после проверки этихканалы, которые я пытался установить opencv-contrib с помощью python -m pip install opencv-contrib-python

он говорит

Требование уже выполнено: opencv-contrib-python в c: \ users \ rak \ anaconda3 \ lib \ site-packages Требование уже удовлетвореноsfied: numpy> = 1.11.3 в c: \ users \ rak \ anaconda3 \ lib \ site-packages (из opencv-contrib-python)

но ошибка остается той же, как это исправитьошибка.Пожалуйста, помогите

Ответы [ 4 ]

0 голосов
/ 07 мая 2019
recognizer = cv2.createLBPHFaceRecognizer()

попробуйте это

0 голосов
/ 23 января 2019

Я установил opencv для python, используя sudo apt install python-opencv и получил ошибку "AttributeError: у объекта 'module' нет атрибута 'face'".Моя конфигурация системы - ОС Ubuntu 16.04 LTS & Python 2.7.12.Для решения проблемы я использовал следующую команду: sudo apt remove python-opencv И установил ту же библиотеку, используя pip sudo pip install opencv-contrib-python

Теперь opencv isработает абсолютно нормально.

0 голосов
/ 13 марта 2019

В моем Rpi Python версии 3,5 и 2,7 оба.версия opencv 3.3.0 для изменения платформы python с 2.7.x на 3.5.x ... перейдите в программу / python idle / properties, запись на рабочем столе / просмотрите / выберите idle-python3.5 в модуле распознавания лиц без атрибута "face».После изменения платформы Python эта проблема будет решена.

0 голосов
/ 26 апреля 2018

Я выясняю проблему сам!Проблема была в том, что у меня opencv-python установлен, я удалил opencv-python и запустил pip install opencv-contrib-python все заработало.

Спасибо за занижение вопроса без всякой причины, даже не сказав мне, что я сделал неправильно, без комментария или ответа

...