Qt5.7+Opencv2.4.9人脸识别(一)项目介绍

原创 2017年05月04日 09:58:57

【注意】本博文的档次适合Opencv初学者,和要做本科生毕业设计这类档次。


昨天晚上刚刚参加了某s*i*p的答辩,发现就是走个流程,与Q群里面其他学生的学校比起来,我们学校编程与其他学校差距较大,在此我把我所做的东西开源展示给大家(其实都是调用Opencv进行识别,并不是什么好东西,网上已经烂大街了)


下面是程序的运行截图(这里我直接放我总结报告的里面的截图):


添加用户的截图:


拍照后:(在此文件夹有记录)


点击照片处理后Data中会根据编号创建文件夹


点击照增加csv和模型训练后,就会生成xml文件,随后就可以进行人脸识别



测试结果:

当人脸库中无此人数据时识别结果截图:


当增加此人数据后运行结果:


识别过程中,人突然跑开,或者人脸精度不大时:



本程序开源,在此是源码下载地址,

http://download.csdn.net/detail/qq78442761/9832957



【注意】此源码对Opencv2.4.9库的调用已经用CMake编译成MinGW可用的,在此不再说明

CMake然后编译OpenCV

http://blog.csdn.net/qq78442761/article/details/54342479


在本节的最后,我想简单交代下识别原理和流程,方面大家对程序的理解:

PCA的全称是Principal Component Analysis主成份分析。

原理简单说就是:提取人脸的主要成份,构成特征脸空间,将待识别的人脸投影到特征脸空间上得出特征向量,然后采用欧式距离算出这个特征向量与平均人脸的差值的距离,然后定义一个阈值,当满足这个阈值时则识别成功。(公式我就不写了,毕竟待会用Opencv调用的时候就几个函数,就能实现上述的功能)

在这里的提取人脸主要成分,其实是把图像矩阵向量化,计算平均值,然后计算差值,再构造协方差,提取协方差的特征向量和特征值,这些特征向量构成的总和就是特征脸空间,然后把每一幅人脸与平均脸的差值的矢量投影到特征脸空间,就达到了模型训练(这些都是理论,在Opencv里面就几个函数调用,极其简单)



在此再说下OPencv人脸识别的流程,方面下一节对程序的理解。

OpenCV人脸识别流程:
1.人脸采集;
2.人脸处理;
3.模型训练;
4.人脸识别;

所以在下几节的内容中我将逐步分析,这4个流程,最终达到人脸识别!



版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Qt+Caffe+OpenCV——【一个基于VGG网络的人脸识别考勤系统】(二)创建一个登录界面和主窗口

前言本次重点阐述在http://blog.csdn.net/mr_curry/article/details/53859654《Qt+Caffe+OpenCV——【一个基于VGG网络的人脸识别考勤系统...

Qt5.7+Opencv2.4.9人脸识别(二)人脸采集

Qt5.7+Opencv2.4.9人脸识别(二)人脸采集

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

基于QT和OpenCV的人脸识别系统

基于QT和OpenCV的人脸识别系统 The Face Recognition System Based on QT and OpenCV 关键词:ARM,QT,OpenCV,...

QT5+OpenCV人脸识别

本文介绍使用OpenCV扩展包里的人脸识别

Qt+Caffe+OpenCV——【一个基于VGG网络的人脸识别考勤系统】(一)人脸检测与识别模块

前言本篇为Qt+Caffe+OpenCV——【一个基于VGG网络的人脸识别考勤系统】的第二篇博文,将所有的人脸检测与识别进行实现。与原博文相比,本文的人脸检测与识别更为简洁,少了人脸矫正模块,放弃了d...

VMware Network Adapter VMnet1和VMnet8 未识别的网络的解决方法

VMware Network Adapter VMnet1和VMnet8 被防火墙认定为未识别的网络,阻隔,无法使用端口映射,虚拟机的80端口无法传入,数据包只能出不能入。且公用网络被限制不能修改为家...

OpenCV人脸检测(完整源码+思路)

OpenCV人脸检测(完整源码+思路)
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)