配置好OpenCV环境来测试一下小程序。
- 打开摄像头进行人脸检测
#include<iostream> #include<opencv2/objdetect/objdetect.hpp> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace cv; //人脸检测的类 CascadeClassifier faceCascade; int main() { faceCascade.load("haarcascade_frontalface_alt2.xml"); //加载分类器,注意文件路径 VideoCapture cap; cap.open(0); //打开摄像头 //cap.open("../data/test.avi"); //打开视频 Mat img, imgGray; vector<Rect> faces; int c = 0; if (!cap.isOpened()) { return 1; } while (c!=27)//按Esc退出 { cap >> img; if (img.channels() == 3) { cvtColor(img, imgGray, CV_RGB2GRAY); } else { imgGray = img; } faceCascade.detectMultiScale(imgGray, faces, 1.2, 2, 0, Size(0, 0)); //检测人脸 if (faces.size()>0) { for (int i = 0; i<faces.size(); i++) { rectangle(img, Point(f