本程序主要通过videocapture打开摄像头,并且对所录视频的内容进行检测,如果视频内容发生改变则保存所录视频,并且对变化的内容进行检查是否包含人脸,包含人脸则将人脸标记出来,主要用到了opencv提供的haarcascade_frontalface_alt.xml分类器。话不多说,直接上代码。
#include <opencv\cvaux.hpp>
#include <opencv\cv.h>
#include<opencv\cxcore.hpp>
#include <opencv2\opencv.hpp>
#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <iostream>
#include <string>
#include <vector>
using namespace cv;
using namespace std;
double diffent_pixel_sum = 0;
string face_cascade_name = "E:\\opencv\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt.xml";//引入
分类器,要根据自己的实际情况修改路径。
CascadeClassifier face_cascade;
void detectAndDisplay(Mat face){
vector<Rect> faces;