赞
踩
.xml文件路径为本地绝对路径,应用代码时需要修改。
代码如下:
#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:\\Program Files\\OpenCV2.4.11\\opencv\\sources\\data\\lbpcascades\\lbpcascade_frontalface.xml"; String eyes_cascade_name = "C:\\Program Files\\OpenCV2.4.11\\opencv\sources\\data\\haarcascades\\haarcascade_eye_tree_eyeglasses.xml"; CascadeClassifier face_cascade; CascadeClassifier eyes_cascade; string window_name = "detectionresult"; RNG rng(12345); int main( int argc, const char** argv ) { Mat frame; face_cascade.load( face_cascade_name ); if( !face_cascade.load( face_cascade_name ) ) { printf("--(!)Error loading\n"); return -1; }; frame = imread("1.png"); detectAndDisplay(frame); waitKey(0); return 0; } void detectAndDisplay( Mat frame ) { std::vector<Rect> faces; Mat frame_gray; cvtColor( frame, frame_gray, CV_BGR2GRAY ); equalizeHist( frame_gray, frame_gray ); face_cascade.detectMultiScale( frame_gray, faces, 1.1, 2, 0, Size(20, 20) ); for( int i = 0; i < faces.size(); i++ ) { Mat faceROI = frame_gray( faces[i] ); Mat faceOrg = frame( faces[i] ); blur(faceOrg, faceOrg, Size(25,25)); std::vector<Rect> eyes; } imshow( window_name, frame ); }
效果图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。