基于摄像头使用Cascade Classifier做人脸检测的方法及例程
生活随笔
收集整理的這篇文章主要介紹了
基于摄像头使用Cascade Classifier做人脸检测的方法及例程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
參考文檔:http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html
目標:
使用CascadeClassifier(Opencv中的級聯分類器)類在視頻流中進行Object(例如,人臉)檢測。使用的函數如下:
1) load 加載一個 .xml 分類器文件. 可以是Haar分類器或者LBP分類器
2) detectMultiScale 執行檢測功能
代碼:
代碼下載地址 here .? LBP 版本的人臉檢測下載地址 here
其他參考代碼:
/** Global variables */ String face_cascade_name = "lbpcascade_frontalface.xml";//導入級聯分類器xml文件,并作文件是否存在的判斷 if( !face_cascade.load( face_cascade_name ) ) { printf("--(!)Error loading\n");return -1; }//-- 2. Read the video streamcapture.open( 0 );//參數為“0”,表示打開默認的攝像機if( capture.isOpened() ){for(;;){//代碼段略}}** ----------------- 主要代碼 ---------- **//轉換成灰度圖cvtColor( frame, frame_gray, COLOR_BGR2GRAY );//轉換直方圖equalizeHist( frame_gray, frame_gray );//-- Detect facesface_cascade.detectMultiScale( frame_gray, faces,6,Size(66, 66),Size(300, 300) );** ----------------- 主要函數結構 ----------- ** **CascadeClassifier::detectMultiScale** C++下的原形: void CascadeClassifier::detectMultiScale( const Mat& image, vector<Rect>& objects, double scaleFactor=1.1, int minNeighbors=3, int flags=0, Size minSize=Size(), Size maxSize=Size())參數: Image – 原圖像; Object – 存放檢測結果的目標矩陣; ScaleFactor – 圖像衰減比例系數; minNeighbors – 保留最小目標鄰近的長方形; flags – 僅僅用于舊版本的cascade,新版本未用到。 MinSize - 最小的目標尺寸,小于這個尺寸將不會檢測。 MaxSize – 最大的目標尺寸,大于這個尺寸將不會被檢測。**VideoCapture::open** C++:有兩個原行:bool VideoCapture::open(const string& filename)bool VideoCapture::open(int device) 參數: filename - - 打開視頻或圖片文件的名稱,例如video.avi 、img_001.jpg device - - 設備名稱,如:a camera index。Device=0,表示打開默認攝像設備。**VideoCapture::isOpened** isopened() - - 調用時返回一個已經初始化好的的設備,正確返回1 ,錯誤返回非零。 **VideoCapture::release** release() 關閉并釋放設備**Ellipse** C++: 原型1:void ellipse( Mat& img, Point center, Size axes, double angle, double startAngle, double endAngle, const Scalar& color, int thickness=1, int lineType=8, int shift=0)C++: 原型2: void ellipse( Mat& img, const RotatedRect& box, const Scalar& color, int thickness=1, int line-Type=8)Img - - 圖像 Center – 中心點 Axes - - 半徑 Angle - - 中心角度 startAngle - - 起始角度 endAngle - - 終點角度 color - - 顏色 thickness - - 厚度 linetype - - 線型
下載地址
總結
以上是生活随笔為你收集整理的基于摄像头使用Cascade Classifier做人脸检测的方法及例程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卷积神经网络的一些细节
- 下一篇: FCTH(Fuzzy Color and