前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LDA人脸识别

LDA人脸识别

作者头像
裴来凡
发布2022-05-28 16:39:49
8.1K0
发布2022-05-28 16:39:49
举报
代码语言: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.FisherFaceRecognizer_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= 10647.989937693492

算法:LDA人脸识别是一种经典的线性学习方法,也称Fisher判别分析法。

例子:

Fisher线性判别分析是要找到一条最优的投影线,满足: ● A、B组内的点之间尽可能地靠近 ● C的两个端点之间的距离(间距离)尽可能地远离

retval=cv2.face.FisherFaceRecognizer_create([, num_components[, threshold]])

  • num_components表示使用Fisherfaces准则进行线性判别分析时保留的成分数量,默认值是0
  • threshold表示进行识别时所使用的阈值。如果最近的距离比设定的阈值threshold还要大,函数返回“-1”

None=cv2.face_FaceRecognizer.train(src, labels)

  • src表示输入图像
  • labels表示标签

label, confidence=cv2.face_FaceRecognizer.predict(src)

  • src表示输入图像
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图像处理与模式识别研究所 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档