OpenCV人臉檢測

2021-07-05 22:38:26 字數 1489 閱讀 2115

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

static cvhaarclassifiercascade* cascade = 0; //分類器

void detect_and_draw( iplimage* image ); //檢測人臉並標記

const char* cascade_name =

"haarcascade_frontalface_alt_tree.xml"; //分類器名稱

int main( int argc, char** argv )

storage = cvcreatememstorage(0);

cvnamedwindow( "result", 1 ); //1表示autosize

capture = cvcapturefromcam(-1); //呼叫攝像頭

if( capture )

cvreleaseimage( &frame_copy );

cvreleasecapture( &capture );

}cvwaitkey(-1); //檢測的時候,等待顯示

cvdestroywindow("result");

return 0;

}void detect_and_draw( iplimage* img )

, ,,,

,,,};

double scale = 1.2; //縮放因子

iplimage* gray = cvcreateimage( cvsize(img->width,img->height), 8, 1 );

iplimage* small_img = cvcreateimage( cvsize( cvround (img->width/scale), //四捨五入

cvround (img->height/scale)),

8, 1 );

int i;

cvcvtcolor( img, gray, cv_bgr2gray ); //轉灰度圖

cvresize( gray, small_img, cv_inter_linear ); //調整大小

cvequalizehist( small_img, small_img ); //使灰度圖象直方圖均衡化

cvclearmemstorage( storage ); //重置

if( cascade )

}cvshowimage( "result", img );

cvreleaseimage( &gray );

cvreleaseimage( &small_img );

}

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...

OpenCV人臉檢測

import cv2 import matplotlib.pyplot as plt 讀取 的人臉檢測 img cv2.imread data face.jpg 1 讀取一張 gray cv2.cvtcolor img,cv2.color bgr2gray 將轉化成灰度 face cascade c...