我使用opencv3和python3来训练人脸识别。我可以训练LBPHFace和EigenFace,没有错误,但是当训练FisherFace时会显示错误。在
这是我的密码。在
import os
import cv2
import numpy as np
from PIL import Image
LBPHFace=cv2.face.LBPHFaceRecognizer_create()
EigenFace=cv2.face.EigenFaceRecognizer_create()
FisherFace=cv2.face.FisherFaceRecognizer_create()
path='dataset'
def getImagesWithID(path):
imagePaths=[os.path.join(path,f) for f in os.listdir(path)]
#print imagePaths
faces=[]
IDs=[]
for imagePath in imagePaths:
faceImg=Image.open(imagePath).convert('L')
faceNp=np.array(faceImg,'uint8')
ID=int(os.path.split(imagePath)[-1].split('.')[1])
faces.append(faceNp)
IDs.append(ID)
cv2.imshow("training" , faceNp)
cv2.waitKey(10)
return np.array(IDs), faces
Ids,faces=getImagesWithID(path)
LBPHFace.train(faces, Ids)
LBPHFace.write('recognizer/LBPHData.xml')
EigenFace.train(faces, Ids)
EigenFace.write('recognizer/EigenData.xml')
FisherFace.train(faces, Ids)
FisherFace.write('recognizer/FisherData.xml')
cv2.destroyAllWindows()
它显示出这样的错误。在
^{pr2}$如何训练FisherFaceRecognizer数据集?在
我的代码很好用。在
相关问题 更多 >
编程相关推荐