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

Facing the error in rec.load Traceback (most recent call last):

File "C:\Users\DELL PC\Downloads\faceDetec_YOUTUBE-20171021T212250Z-001\recognize\detector.py", line 7, in rec.load("recognizerr\trainingData.yml") AttributeError: 'cv2.face_LBPHFaceRecognizer' object has no attribute 'load'

Dmitry
  • 6,716
  • 14
  • 37
  • 39
nisahbhtrap
  • 92
  • 1
  • 1
  • 8

4 Answers4

18

I am using python 3.6.3 and openCv 3.3 and face the same problem. In openCV 3.3 has removed load() and save(). load() is replaced with read() and save() is replaced with write()

Hiccup
  • 596
  • 6
  • 19
1

use:

rec=cv2.face.LBPHFaceRecognizer_create();
Papershine
  • 4,995
  • 2
  • 24
  • 48
Sleider
  • 31
  • 1
1

In OpenCV 3.3

load() is replaced by read()

save() is replaced by write()

Suraj Verma
  • 463
  • 6
  • 8
1

In openCV==3.x

load() is replaced with read() 
save() is replaced with write()
Priyansh gupta
  • 906
  • 12
  • 10