600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Python人脸识别项目-人脸识别-建立人脸模型

Python人脸识别项目-人脸识别-建立人脸模型

时间:2019-03-07 11:41:45

相关推荐

Python人脸识别项目-人脸识别-建立人脸模型

现在我们执行的是第二步建立人脸预测模型

# -*- coding: utf-8 -*import cv2import osfrom PIL import Imageimport numpy as npdef getImageAndLabels(path):#存储人脸数据faceSamples = []#存储姓名ids = []#存储图片信息imagePaths =[os.path.join(path,f) for f in os.listdir(path)]#加载分类器face_dector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')#遍历列表中的图片for image in imagePaths:#打开图片文件转为灰色,每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度PIL_img =Image.open(image).convert('L')#将图像数字化,数组作为图像类型操作img_numpy = np.array(PIL_img,'uint8')#获取图片人脸特征,把人脸那一块取出来faces = face_dector.detectMultiScale(img_numpy)#获取每张图片idid = int(os.path.split(image)[1].split('.')[0])#添加到列表中for x,y,w,h in faces:ids.append(id)faceSamples.append(img_numpy[y:y+h,x:x+w])print('id:',ids)print('fs:',faceSamples)return faceSamples,idsif __name__ == '__main__':#图片路径path ='./picture'#获取图像数组和id标签数组和姓名faces,ids =getImageAndLabels(path)#识别器recognizer = cv2.face.LBPHFaceRecognizer_create()#训练recognizer.train(faces,np.array(ids))#保存文件recognizer.write('./train/trainer.yml')

最后会生成一个.yml后缀名的文件,这就是我们需要的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。