【问题标题】:cv2.lbphfacerecognizer has no attribute 'load' 'predict'cv2.lbphfacerecognizer 没有属性 'load' 'predict'
【发布时间】:2019-10-15 00:35:50
【问题描述】:
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 中的错误 Traceback(最近一次调用最后一次):

文件“C:\Users\DELL PC\Downloads\faceDetec_YOUTUBE-20171021T212250Z-001\recognize\detector.py”,第 7 行,在 rec.load("recognizerr\trainingData.yml") AttributeError: 'cv2.face_LBPHFaceRecognizer' 对象没有属性 'load'

【问题讨论】:

    标签: python load predict


    【解决方案1】:

    我正在使用 python 3.6.3 和 openCv 3.3 并面临同样的问题。在 openCV 3.3 中删除了 load() 和 save()。 load() 被 read() 替换, save() 被 write() 替换

    【讨论】:

      【解决方案2】:

      使用:

      rec=cv2.face.LBPHFaceRecognizer_create();
      

      【讨论】:

        【解决方案3】:

        在 OpenCV 3.3 中

        load() 替换为 read()

        save() 替换为 write()

        【讨论】:

          【解决方案4】:

          在 openCV==3.x 中

          load() is replaced with read() 
          save() is replaced with write()
          

          【讨论】:

            猜你喜欢
            • 2018-08-31
            • 2020-06-04
            • 2019-08-14
            • 1970-01-01
            • 2019-12-17
            • 2021-02-22
            • 2019-09-14
            • 2019-06-07
            • 1970-01-01
            相关资源
            最近更新 更多