属性错误:即使安装了opencv-contrib 'module'对象也没有属性'face'错误



我试图使用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()

当我运行任何面部识别文件时,我会遇到此错误

trackback(最近的最新通话(:文件 " ensuniser_image_all_algorithms.py",第11行,in lbph = cv2.face.lbphfacerecognizer_create(2,2,2,7,7,20(attributeError:'module'对象没有属性'face'

我已经搜索了错误,发现了这样的答案

检查了这些提要后,我尝试使用 Python -M PIP安装opencv-contrib-python

安装opencv-contrib

它说

要求已经满足:OpenCV-Contrib-Python C: users rak anaconda3 lib lib site-packages要求 满意:numpy> = 1.11.3在C: Users rak anaconda3 lib lib site-packages中 (来自OpenCV-Contrib-Python(

但是错误保持不变,如何解决此错误。PLZ帮助

我自己发现了问题!问题是我已经安装了 opencv-python ,i i ' opencv-python 和ran pip pip install opencv-contrib-python 它起作用了。

我已经使用 sudo apt安装python-opencv 安装了python的openCV&收到的错误" attributeError:'模块'对象没有属性'face'。我的系统配置是OS Ubuntu 16.04 Lts&Python 2.7.12。我使用以下命令解决了问题: sudo apt删除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 ...转到程序/python空闲/属性,桌面条目/浏览/选择idle-python3.5在面部识别模块中没有属性"脸"。更改Python平台后,将解决此问题。

recognizer = cv2.createLBPHFaceRecognizer()

尝试一下

最新更新