web-dev-qa-db-ja.com

AttributeError: 'module'オブジェクトにはopencv-contribをインストールした後でも属性 'face'エラーがありません

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

Recogniser_Image_All_Algorithms.pyのような顔認識ファイルを実行すると、このエラーが発生します

トレースバック(最後の最後の呼び出し):ファイル "Recogniser_Image_All_Algorithms.py"、11行目、LBPH = cv2.face.LBPHFaceRecognizer_create(2、2、7、7、20)AttributeError: 'モジュール'オブジェクトに属性 'face'がありません

私はエラーをグーグルで検索し、 THIS ONE のような同じ答えを見つけました

それらのフィードを確認した後、python -m pip install opencv-contrib-pythonを使用してopencv-contribをインストールしようとしました

それは言う

要件はすでに満たされています:opencv-contrib-python in c:\ users\rak\anaconda3\lib\site-packages要件はすでに満たされています:numpy> = 1.11.3 in c:\ users\rak\anaconda3\lib\site-packages( opencv-contrib-pythonから)

しかし、エラーは同じままです、このエラーを修正する方法。 plzヘルプ

5
rakcode

python using Sudo apt install python-opencv&received error "AttributeError: 'module' object has no attribute'face '"のopencvをインストールしました。私のシステム構成はOSUbuntu 16.04 LTS&Python 2.7.12。問題を解決するために次のコマンドを使用しました:Sudo apt remove python-opencvそしてpipを使用して同じライブラリをインストールしました- Sudo pip install opencv-contrib-python

現在、opencvは完全に正常に機能しています。

1
user2712873

私は自分で問題を見つけます!問題は、opencv-pythonがインストールされていて、uninstalled opencv-pythonが実行され、pip install opencv- contrib-python動作しました。

コメントや返信なしで、私が間違ったことを教えなくても、理由もなく質問に反対票を投じてくれてありがとう

5
rakcode

私のRpiではpythonバージョンは3.5と2.7の両方です。opencvバージョンは3.3.0で、pythonプラットフォームを2.7.xから3.5.xに変更します。.プログラム/ pythonアイドル/プロパティ、デスクトップエントリ/ブラウズ/選択アイドルに移動します-顔認識モジュールのpython3.5には属性「face」がありません。pythonプラットフォームを変更すると、この問題は解決します。

0
juhi
recognizer = cv2.createLBPHFaceRecognizer()

これを試してみてください

0
rohit kaswan