PCA人脸识别

2022-05-28 16:39:27 浏览数 (3)

代码语言: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/

0 人点赞