大致思路:训练人脸识别模型--->检测人脸--->识别人脸
环境:win10/vs2017/opencv3.4.0(需要把opencv_contrib-3.4.0编译进去) /c++
PS:旧版opencv包含contrib模块,后来就从opencv3里分离出去了,需要自己编译
在OpenCV 3.0中,一些不稳定的功能被移动到独立的库(Open contrib)
源码及opencv_contrib-3.4.0编译进去库(这个还要积分我不知道怎么设置免费,如果需要也可以留下邮箱)https://download.youkuaiyun.com/download/y2c58s43d69g8h7g_g/11377233
准备工作:
训练:
代码:
//训练人脸识别模型
#include"opencv2/opencv.hpp"
#include"opencv2/core.hpp"
#include"opencv2/imgproc.hpp"
#include"opencv2/highgui.hpp"
#include"opencv2/face.hpp" // 包含FaceRecognizer
#include<iostream>
using namespace std;
using namespace cv;
using namespace cv::face;
static void read_csv(const string& filename, vector<Mat>& images, vector<int>& labels, int max, int min, char separator);
int CountMax = 9, CountMin = 0;
int main(int argc, char *argv[])
{
string csvFile = "E:\\人脸识别\\allpic\\at.t