内容参考:https://www.cnblogs.com/cheungxiongwei/articles/7636423.html
主要步骤:
- 加载 Opencv 自带的人脸检测
haarcascade_frontalface_alt.xml
分类器。 - 图像预处理
cvtColor(灰度化)
equalizeHist(直方图均衡化)
。 - 使用
detectMultiScale
函数进行识别。 - 使用
rectangle
函数绘制找到的目标矩形框并绘制。
代码如下:
#include "opencv2\opencv.hpp"
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
string xmlPath = "lbpcascade_frontalface.xml";
CascadeClassifier ccf; //创建分类器对象
Mat img = imread("people.jpg");
if (!ccf.load(xmlPath)) //加载训练文件
{
cout << "不能加载指定的xml文件" << endl;
return 0;
}
vector<Rect> faces; //创建一个容器保存检测出来的脸
Mat gray;
if (img.channels()