代码语言:javascript复制
import cv2
import numpy as np
images=[]
images.append(cv2.imread('C:/Users/xpp/Desktop/coins.png',cv2.IMREAD_GRAYSCALE))#原始图像
images.append(cv2.imread('C:/Users/xpp/Desktop/coins.png',cv2.IMREAD_GRAYSCALE))#原始图像
images.append(cv2.imread('C:/Users/xpp/Desktop/Lena.png',cv2.IMREAD_GRAYSCALE))#原始图像
images.append(cv2.imread('C:/Users/xpp/Desktop/Lena.png',cv2.IMREAD_GRAYSCALE))#原始图像
labels=[0,0,1,1]#图像标签
recognizer=cv2.face.EigenFaceRecognizer_create()#人脸识别
recognizer.train(images,np.array(labels))#模型训练
predict_image=cv2.imread('C:/Users/xpp/Desktop/face.png',cv2.IMREAD_GRAYSCALE)#原始图像
label, confidence=recognizer.predict(predict_image)#模型预测
print("label=",label)
print("confidence=",confidence)
cv2.imshow("predict_image",predict_image)
cv2.waitKey()
cv2.destroyAllWindows()
label= 1 confidence= 19228.277485215305
算法:PCA人脸识别是将高维的人脸数据处理为低维数据后(降维),再进行数据分析和处理,获取识别结果。
retval=cv2.face.EigenFaceRecognizer_create([, num_components[, threshold]])
- num_components表示保留的分量个数,通常情况下,保留的分量个数为80
- threshold表示在预测时所使用的阈值,如果大于该阈值,那么没有识别到任何目标对象
None=cv2.face_FaceRecognizer.train(src, labels)
- src表示输入图像
- labels表示标签
label, confidence=cv2.face_FaceRecognizer.predict(src)
- src表示输入图像
网址:https://www.matongxue.com/madocs/1025/