前言
本文介绍如何使用Haar训练自己的人脸分类器。
参考blog:
https://www.cnblogs.com/tornadomeet/archive/2012/03/28/2420936.html
https://www.cnblogs.com/tornadomeet/archive/2012/03/27/2420088.html
https://blog.csdn.net/yangleo1987/article/details/52883864
https://blog.csdn.net/qq_32502511/article/details/79010509
准备数据
训练数据包含正样本和负样本,比例设为1:3为好。另外将图片都resize成20x20。
正样本
正样本采用我之前一篇blog(https://blog.csdn.net/qq_35290955/article/details/99291496 )提到的
ORL人脸数据集。我只用了其中333张图片,样本少,训练快,只做演示效果,也为了达到1:3。建立一个VS2017工程resize_pic,将上面我那篇blog提到的labels.txt复制到自己的工作目录下,并改名为origin_ORL_datapath.txt。
resize_pic代码如下:
#include "pch.h"
#include <iostream>
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <opencv2/opencv.hpp> //ifstream用到
#include <stdio.h>
using namespace std;
using namespace cv