C++ opencv4.1实现人脸检测
本文采用opencv4.1中haarcascades文件下存放的Haar特征的级联分类器(Cascade Classfier)进行人脸检测。
代码实现:
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>
using namespace std;
using namespace cv;
void detectAndDisplay(Mat frame);
string face_cascade_name = "C:/Opencv410/opencv/sources/data/haarcascades/haarcascade_frontalface_alt.xml"; //加载分类器
string eyes_cascade_name = "C:/Opencv410/opencv/sources/data/haarcascades/haarcascade_eye_tree_eyeglasses.xml";
CascadeClassifier face_cascade; //人脸检测的类
CascadeClassifier eyes_cascade;
string window_name = "Capture - Face detection";
RNG rng(12345);
int main(int argc, const char** argv)
{
Mat frame;
//-- 1. 加载级联分类器文件
if (!face_cascade.load(face_cascade_name)) { cout&