人脸检测是指在图像中完成人脸定位的过程,而人脸识别是在人脸检测的基础上进一步判断人的身份,OpenCV提供了三种人脸识别的方法:EigenFaces(特征脸)、FisherFaces(人鱼脸)、Local Binary Patterns Histograms,LBPH(局部二进制编码直方图)。
1、EigenFaces
EigenFaces人脸识别的基本步骤:
(1)调用cv2.face.EigenFaceRecognizer_create()方法创建EigenFaces识别器;
(2)调用识别器的train()方法以便使用已知图像训练模型;
(3)调用识别器的predict()方法以便使用未知图像进行识别,确认其身份。
用到的函数:
recognizer=cv2.face.EigenFaceRecognizer_create([num_components[,threshold]])参数说明:recognizer为返回的EigenFaces识别器对象
num_components为分析时的分量个数,默认为0,表示根据实际输入决定
threshold为人脸识别时采用的阈值
recognizer.train(src, labels)参数说明:src为用于训练的已知图像数组
labels为标签数组,与已知图像数组中的人脸一一对应,同一个人的人脸标签应设置为相同值