AttributeError:“module”对象即使在安装opencvcontrib之后也没有属性“face”错误

2024-04-19 13:34:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Python、OpenCv2和LBPH实现人脸识别 (从HERE下载)

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

当我运行任何人脸识别文件,如recognizer\u Image\u All时,我会遇到这个错误_算法.py

Traceback (most recent call last): File "Recogniser_Image_All_Algorithms.py", line 11, in LBPH = cv2.face.LBPHFaceRecognizer_create(2, 2, 7, 7, 20) AttributeError: 'module' object has no attribute 'face'

我在谷歌上搜索了这个错误,找到了相同的答案,比如THIS ONE

在检查了这些提要之后,我试图使用python-m pip install opencv contrib python安装opencv contrib python

上面写着

Requirement already satisfied: opencv-contrib-python in c:\users\rak\anaconda3\lib\site-packages Requirement already satisfied: numpy>=1.11.3 in c:\users\rak\anaconda3\lib\site-packages (from opencv-contrib-python)

但是错误仍然存在,如何修复这个错误。plz帮助


Tags: thenameimportidconfxmlcv2face
3条回答

我已经使用sudo apt install python opencv安装opencv for python &接收到错误“AttributeError:'module'对象没有属性‘face'”(amp;received error)。 我的系统配置是OS Ubuntu16.04LTS&Python2.7.12。我使用以下命令来解决问题: sudo apt remove python opencv 并使用pip安装了相同的库 sudo pip安装opencv contrib python

现在opencv运行得非常好。在

在我的Rpi中 python版本都是3.5和2.7。opencv版本是3.3.0 要将python平台从2.7.x更改为3.5.x。。。 转到program/pythonidle/properties,desktop entry/browse/select idle-python3.5 在人脸识别模块中没有人脸属性。改变python平台后,这个问题就解决了。在

我自己发现了问题!问题是我安装了opencv python,我卸载了opencv python,并运行了pip安装opencv contrib python。在

Thanks for Downvoting the question for no reason even without telling me what I did wrong, without a comment or reply

相关问题 更多 >