检测生成.xml文件的效果:以人脸xml为例
生活随笔
收集整理的這篇文章主要介紹了
检测生成.xml文件的效果:以人脸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;/************************************************************************/
//加載訓練好的分類器
String face_cascade_name = "cascade.xml";
//String face_cascade_name = "haarcascade_frontalface_alt.xml";/************************************************************************/CascadeClassifier face_cascade;
RNG rng(12345);
void detectAndDisplay( Mat frame ) //檢測單張圖片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|CV_HAAR_SCALE_IMAGE, Size(30, 30) );for( size_t i = 0; i < faces.size(); i++ ){Point center( faces[i].x + faces[i].width*0.5, faces[i].y + faces[i].height*0.5 );ellipse( frame, center, Size( faces[i].width*0.5, faces[i].height*0.5), 0, 0, 360, Scalar( 255, 0, 255 ), 4, 8, 0 );Mat faceROI = frame_gray( faces[i] );std::vector<Rect> eyes;}imshow( "測試結果圖", frame );
}
void frame_show() //測試單張圖片
{Mat frame;frame = imread("3.jpg"); ///被測的圖片名稱detectAndDisplay(frame);waitKey(0);
}
void cap_show() //測試視頻流
{ CvCapture* capture;Mat frame;//-- 2. Read the video streamcapture = cvCaptureFromCAM( 0 );if( capture ){while( true ){frame = cvQueryFrame( capture );if( !frame.empty() ){ detectAndDisplay( frame ); }else{ printf(" --(!) No captured frame -- Break!"); break; }int c = waitKey(10);if( (char)c == 'c' ) { break; }}}
}
/************************************************************************/
/************************************************************************/
int main( int argc, const char** argv )
{if( !face_cascade.load( face_cascade_name ) ){ printf("--(!)Error loading\n"); return -1; };
/*---------------------------------------------------*/ frame_show(); //測試單張圖片//cap_show(); //視頻檢測return 0;
}
總結
以上是生活随笔為你收集整理的检测生成.xml文件的效果:以人脸xml为例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HAAR、LBP分类器训练
- 下一篇: 第七讲:用户和用户组管理