web-dev-qa-db-ja.com

cv2.lbphfacerecognizerには属性がありません 'load''predict'

import cv2
import numpy as np
faceDetect=cv2.CascadeClassifier('haarcascade_frontalface_default.xml');
cam=cv2.VideoCapture(0);
rec=cv2.face.LBPHFaceRecognizer_create();
rec.load("recognizerr\\trainingData.yml")

id=0

fontface=cv2.FONT_HERSHEY_SIMPLEX

while(True):

    ret,img=cam.read();
    gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    faces=faceDetect.detectMultiScale(gray,1.3,5);
    for(x,y,w,h) in faces:
        cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
        id,conf=rec.predict(gray[y:y+h,x:x+w])
        if(id==1):
            id="Name"
        else:
            id="Unknown"    
        cv2.putText(img,str(id),(x,y+h),fontface,2,(255,0,0),3);
    cv2.imshow("Face",img);
    if(cv2.waitKey(1)==ord('q')):
        break;
cam.release()
cv2.destroyAllWindows()

Rec.loadトレースバックのエラーに直面しています(最後の最後の呼び出し):

ファイル "C:\ Users\Dell PC\Downloads\faceDetec_YOUTUBE-20171021T212250Z-001\recognize\detector.py"、7行目、rec.load( "recognizerr\trainingData.yml")AttributeError: 'cv2.face_LBPHFaceRecognizer'オブジェクトに属性なし 'ロード'

4
nisahbhtrap

python 3.6.3とopenCv3.3を使用していますが、同じ問題に直面しています。openCV3.3ではload()とsave()が削除されました。load()はread()とsave()に置き換えられています。 )はwrite()に置き換えられます

19
Hiccup

使用する:

rec=cv2.face.LBPHFaceRecognizer_create();
2
Sleider

OpenCV == 3.xで

load() is replaced with read() 
save() is replaced with write()
1
Priyansh gupta

OpenCV3.3では

load()はread()に置き換えられます

save()はwrite()に置き換えられます

1
Suraj Verma