在python2.7和opencv3.3中,我的代码在检测某人的脸时遇到了问题
import cv2
import numpy as np
faceDetect=cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
cam=cv2.VideoCapture(0)
rec=cv2.face.LBPHFaceRecognizer_create()
rec.load("recognizer/trainningData.yml")
id=0
font=cv2.cv.InitFont(cv2.cv.CV_FONT_HERSHEY_COMPLEX_SMALL,5,1,0,4)
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.rextangle(img,(x,y),(x+w,y+h),(0,0,255),2)
id,conf=rec.predict(gray[y:y+h,x:x+w])
if id is 1:
id="Zakir Naik"
elif id is 2:
id="Erdogan"
elif id is 3:
id="Fachrul"
cv2.cv.PutText(cv2.cv.fromarray(img),str(id),(x,y+h),font,255)
cv2/imshow("Face",img)
if(cv2.waitKey(1)==ord("q")):
break;
cam.release()
cv2.destroyAllWindows()输出
'cv2.face_LBPHFaceRecognizer' object has no attribute 'load'发布于 2017-09-03 04:40:56
OpenCV2 has a load function
OpenCV3 does not
也许可以试试rec.read("recognizer/trainningData.yml")
https://stackoverflow.com/questions/46017894
复制相似问题