基于OpenCV3实现人脸识别(实践篇)

 实践总结:

  •   首先了解做人脸识别的步骤
  •  各个算法后面的原理
  •   原理背后的相关知识的了解
  •   人脸识别项目总遇到的问题

由于篇幅原因,后面一篇写各个算法背后的原理,原理背后的相关知识的了解,人脸识别项目总遇到的问题

 首先感谢:

https://blog.csdn.net/qq_37406130/article/details/78697244 基于Opencv的人脸识别

https://blog.csdn.net/xingchenbingbuyu/article/details/51386949  OpenCV实践之路——人脸识别之一数据收集和预处理

https://blog.csdn.net/u013088062/article/details/38588185 浅谈Openv中人脸识别类FaceRecognizer

https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html#appendixft  Face Recognition with OpenCV

https://blog.csdn.net/matrix_space/article/details/51364302 机器学习: 特征脸算法 EigenFaces

https://blog.csdn.net/u010402786/article/details/52261933 算法优化二——如何提高人脸检测正确率

    要进行人脸的识别的训练,首先我们要对Openv中人脸识别类FaceRecognizer要有一个了解,http://www.cnblogs.com/guoming0000/archive/2012/09/27/2706019.html (这个实际上就是 Face Recognition with OpenCV的翻译)可以参考这个博客对FaceRecognizer 有一个了解http://blog.csdn.net/u013088062/article/details/38588185 这个博客对人脸的训练解释的很好,具体怎么训练可以阅读这个博客。


                                                                                        正 文 

1首先了解做人脸识别的步骤

数据收集和预处理、训练模型、人脸识别三个部分

  • 数据收集和预处理

     (1)下载数据集

     本次用的数据集是opencv给出的教程里面的第一个数据集:The AT&T Facedatabase。又称ORL人脸数据库,40个人,每人10张照片。照片在不同时间、不同光照、不同表情(睁眼闭眼、笑或者不笑)、不同人脸细节(戴眼镜或者不戴眼镜)下采集。所有的图像都在一个黑暗均匀的背景下采集的,正面竖直人脸(有些有有轻微旋转)。

   可以用imread()函数读出pgm看看各图效果。

 (2)准备识别人脸的数据集

    拍照程序

#include <opencv2\opencv.hpp>
#include <vector>
#include <iostream>
#include<stdio.h>
//#include <stdio.h>
//#include <cv.h>  
using namespace std;
using namespace cv;
int main() 
{
	CascadeClassifier cascada;
	cascada.load("haarcascade_frontalface_alt2.xml");
	VideoCapture cap(0);
	Mat frame, myFace;
	int pic_num = 1;
	while (1) {
		//摄像头读图像
		cap >> frame;
		vector<Rect> faces;//vector容器存检测到的faces
		Mat frame_gray;
		cvtColor(frame, frame_gray, COLOR_BGR2GRAY);//转灰度化,减少运算
		cascada.detectMultiScale(frame_gray, faces, 1.1, 4, CV_HAAR_DO_ROUGH_SEARCH, Size(70, 70), Size(1000, 1000));
		printf("检测到人脸个数:%d\n", faces.size());
		//1.f
  • 125
    点赞
  • 1024
    收藏
    觉得还不错? 一键收藏
  • 142
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 142
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值