人脸检测是指在图像中完成人脸定位的过程,而人脸识别是在人脸检测的基础上进一步判断人的身份,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为标签数组,与已知图像数组中的人脸一一对应,同一个人的人脸标签应设置为相同值

这篇博客介绍了OpenCV中三种人脸识别方法:EigenFaces、FisherFaces和LBPH。EigenFaces和FisherFaces的识别过程相似,包括创建识别器、训练模型和预测身份。LBPH算法则基于局部二进制模式直方图来处理图像。每个方法都涉及到训练图像的预处理,如灰度转换和尺寸一致性,并提供了相应的代码示例。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



