opencv人臉檢測和跟蹤

2021-07-15 03:37:27 字數 2062 閱讀 3973

一、我的分類訓練器的xml檔案路徑如下:

d://opencv//sources//data//haarcascades//haarcascade_frontalface_alt.xml

每個人的安裝位置不同,訓練器的xml也不同,我的是opencv3.0的。

二、先檢測一張如里的人臉

程式:

#include#include using namespace std;

using namespace cv;

rng g_rng(12345);

cascadeclassifier face_cascades;

void detectanddisplay(mat frame);

int main()

detectanddisplay(image);

waitkey(0);

}void detectanddisplay(mat frame)

else

equalizehist(frame_gray, frame_gray);

//detectmultiscale函式中frame_gray表示的是要檢測的輸入影象為frame_gray,faces表示檢測到的人臉目標序列,1.1表示

//每次影象尺寸減小的比例為1.1,2表示每乙個目標至少要被檢測到3次才算是真的目標(因為周圍的畫素和不同的視窗大

//小都可以檢測到人臉),cv_haar_scale_image表示不是縮放分類器來檢測,而是縮放影象,size(30, 30)為目標的

//最小最大尺寸

face_cascades.detectmultiscale(frame_gray, faces, 1.1, 2, 0 | cv_haar_scale_image, size(30, 30));

for (int i = 0; i < faces.size(); i++)

imshow("人臉檢測", frame);

}

執行結果:

從結果來看,檢測效果有待提高,如果是自己寫的訓練器,那就牛了,不簽我還不會寫。

#include#include using namespace std;

using namespace cv;

rng g_rng(12345);//隨機數宣告

cascadeclassifier face_cascades;

void detectanddisplay(mat frame);//函式宣告

int main()

waitkey(0);

return 0;

}void detectanddisplay(mat frame)

else

equalizehist(frame_gray, frame_gray);

//detectmultiscale函式中frame_gray表示的是要檢測的輸入影象為frame_gray,faces表示檢測到的人臉目標序列,1.1表示

//每次影象尺寸減小的比例為1.1,2表示每乙個目標至少要被檢測到3次才算是真的目標(因為周圍的畫素和不同的視窗大

//小都可以檢測到人臉),cv_haar_scale_image表示不是縮放分類器來檢測,而是縮放影象,size(30, 30)為目標的

//最小最大尺寸

face_cascades.detectmultiscale(frame_gray, faces, 1.1, 2, 0 | cv_haar_scale_image, size(30, 30));

for (int i = 0; i < faces.size(); i++)

imshow("人臉檢測", frame);

}

執行結果: 

三、參考資料

1.opencv人臉檢測

2.opencv 實現人臉檢測與相關知識整理

OpenCV人臉檢測

include include include include include include include include include include static cvmemstorage storage 0 建立乙個記憶體儲存器,來統一管理各種動態物件的記憶體 static cvhaar...

OpenCV人臉檢測

win7 32位 opencv3.0 vs2013 對資料夾中進行人臉檢測 在opencv中,人臉檢測用的是harr或lbp特徵,分類演算法用的是adaboost演算法。這種演算法需要提前訓練大量的,非常耗時,因此opencv已經訓練好了,把訓練結果存放在一些xml檔案裡面。在opencv3.0版本...

opencv人臉檢測

最近有空對學習下opencv的東西,本篇主要記錄對人臉檢測實現,而人臉檢測是為人臉識別做準備。opencv版本 3.3.0 環境 vs2015 void cascadeclassifier detectmultiscale inputarray image,vector objects,double...