OpenCV支持的目标检测的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification)。haar支持的目标有人脸、眼、嘴、鼻、身体,这里给出的是脸部和眼部的示例。
理论参考链接:https://docs.opencv.org/master/dc/d88/tutorial_traincascade.html
代码参考链接:https://docs.opencv.org/master/db/d28/tutorial_cascade_classifier.html
代码示例
#include "opencv2/objdetect.hpp"
#include "opencv2/videoio.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
#include <iostream>
#include <stdio.h>
using namespace std;
using namespace cv;
void detectAndDisplay(Mat frame); // 检测并显示
String face_cascade_name, eyes_cascade_name;
CascadeClassifier face_cascade; // 脸部识别
CascadeClassifier eyes_cascade;