使用级联分类器实现人脸检测(OpenCV自带的数据)
Posted long5683
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用级联分类器实现人脸检测(OpenCV自带的数据)相关的知识,希望对你有一定的参考价值。
1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace std; 6 7 int main(int argc, char** argv) { 8 String cascadeFilePath = "F:/CMake_bulid/install/etc/haarcascades/haarcascade_frontalface_alt.xml";//数据路径 9 CascadeClassifier face_cascade;//创建分类器对象 10 if (!face_cascade.load(cascadeFilePath)) { 11 printf("could not load haar data... "); 12 return -1; 13 } 14 15 VideoCapture Capture(0); 16 Mat src, gray_src; 17 while(Capture.read(src)){ 18 19 cvtColor(src, gray_src, COLOR_BGR2GRAY); 20 equalizeHist(gray_src, gray_src);//直方图均衡化 21 22 vector<Rect> faces; 23 face_cascade.detectMultiScale(gray_src, faces, 1.1, 2, 0, Size(30, 30));//多尺度查找 24 for (size_t t = 0; t < faces.size(); t++) { 25 rectangle(src, faces[t], Scalar(0, 0, 255), 2, 8, 0); 26 } 27 namedWindow("output", CV_WINDOW_AUTOSIZE); 28 imshow("output", src); 29 30 uchar key = waitKey(100); 31 if(key==27) 32 { 33 break; 34 } 35 36 } 37 waitKey(0); 38 return 0; 39 }
以上是关于使用级联分类器实现人脸检测(OpenCV自带的数据)的主要内容,如果未能解决你的问题,请参考以下文章