人脸检测与识别 (环境:opencv3.3.0 + vs2015)

首先,全部代码实现参考冰不语,感谢大佬提供代码(查看官网也可),帮助素人学习。

总的来说,当你走过一遍以后,会发现其实很简单,基本都是调用opencv库和opencv_contrib库,关于opencv_contrib的配置方法,优快云上真正对你路子的方法很少,所以建议初学者安装版本时,选择你参考的安装方法的版本,调试起来会更方便,如果你是3.3.0版本,需要配置contrib的话,可以私信我,我可以分享编译好的install文件给你,免除配置烦恼。

至于为什么写这篇文章,是应为冰不语的版本时opencv2.*的版本,自己再写3.3版本时,遇到很多坑,然后一一填满,所以避免opencv3新手入坑吧,写了这篇总结。

重点开始

  • 数据准备                                                                                                                                                                          ORL人脸数据库,参考:人脸识别之一数据收集和预处理                                                                                                   本人数据准备:
#include <opencv2/opencv.hpp>;
#include <iostream>

using namespace cv;
using namespace std;

char ad[128] = { 0 };
int main()
{
	vector<Rect> faces;
	Mat image, image_gray;

	for (int i = 1; i < 11; i++)
	{
		sprintf_s(ad, "你的照片路径(注意分割符用\\或者/)\\%d.jpg", i);
		image = imread(ad);
		cvtColor(image, image_gray, COLOR_BGR2GRAY);
		equalizeHist(image_gray, image_gray);
		CascadeClassifier face_cascade; //载入分类器
		if (!face_cascade.load("分类器存放目录\\haarcascade_frontalface_alt.xml"))
		{
			cout << "Load haarcascade_frontalface_alt failed" << endl;
			return 0;
		}
		vector<Rect> faceRect;
		face_cascade.detectMultiScale(image_gray, faceRect, 1.1, 2, 0 | CV_HAAR_SCALE_IMAGE, Size(30, 30));
		for (size_t j = 0; j < faceRect.size(); j+
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值