資源簡介
用C語言實現的基于adaboost算法的人臉檢測程序及人臉庫
代碼片段和文件信息
#include?“cv.h“
#include?“highgui.h“
//cxcore.lib?cv.lib?ml.lib?cvaux.lib?highgui.lib?cvcam.lib
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#ifdef?_EiC
#define?WIN32
#endif
//#define?NUM_SAMPLES_MAX?501
#define?NUM_SAMPLES_MAX?7000
#define?HAAR_FEATURE_MAX?3
#define?WEAKCLASSIFIER_NUM_MAX?300
#define?Sample_W?19
#define?Sample_H?19
int?Image_Mg[2000][2000];
int?every_haarfeature_value[NUM_SAMPLES_MAX];//全局數組變量用來保存所有樣本的每個特征值,用于Cal_Allsamples_Featurej函數
typedef?struct?HaarFeature //一個HaarFeature對應于一個弱分類器
{
???
int?N;
int?kind; //kind=1、2、3、4、5分別對應論文中的五種haar特征
CvRect?r;
int?threshold; //弱分類器閾值
int?p; //不等號方向
double?we; //權重錯誤率
//float?e; //弱分類器對所有樣本的分類錯誤率
//int?n; //實際樣本數量
//int?Samples_FeatureValue[NUM_SAMPLES_MAX]; //用來保存所有樣本的特征值
//int?Sorted_Value[NUM_SAMPLES_MAX]; //所有樣本排序后的特征值
double?btt?; //
//char?hy[NUM_SAMPLES_MAX];
}
HaarFeature;
HaarFeature?Haarfeatures[78500];
int?num_features=0;
typedef?struct?SimpleHaarFeature //一個HaarFeature對應于一個弱分類器
{
int?kind; //kind=1、2、3、4、5分別對應論文中的五種haar特征
CvRect?r;
int?threshold; //弱分類器閾值
int?p; //不等號方向
double?we; //權重錯誤率
//float?e; //弱分類器對所有樣本的分類錯誤率
}
SimpleHaarFeature;
typedef?struct?Ex_IplImage
{
IplImage?*?image;
//CvMat?*?Mg;
int?Mg[Sample_W?+?1][Sample_H?+?1]; //used?to?keep?jifen?of?grey?pixel
int?N; //the?image‘s?number?in?all?samples
int?Y; //sign?for?positive?of?face?or?not
int?F; //the?feature?valuebe?used?to?sort
double?W; //the?image‘s?weight
int?IsFalseDetected;
}
Ex_IplImage;
Ex_IplImage?Samples[NUM_SAMPLES_MAX];
int?num_samples;
typedef?struct?NYFW
{
int?N; //the?image‘s?number?in?all?samples
int?Y; //sign?for?positive?of?face?or?not
int?F; //the?feature?value
double?W; //the?image‘s?weight
}
NYFW;
/*?a?boosted?battery?of?classifiers(=stage?classifier):
???the?stage?classifier?returns?1
???if?the?sum?of?the?classifiers‘?responces
???is?greater?than?threshold?and?0?otherwise?*/
typedef?struct?HaarStageClassifier
{
????int??count; /*?number?of?classifiers?in?the?battery?*/
????double?threshold; /*?threshold?for?the?boosted?classifier?*/
????HaarFeature?classifier[WEAKCLASSIFIER_NUM_MAX]; /*?array?of?classifiers?pointer*/
double?alphat[WEAKCLASSIFIER_NUM_MAX]; //?array?of?at?for?every?chassifier
????/*?these?fields?are?used?for?organizing?trees?of?stage?classifiers
???????rather?than?just?stright?cascades?*/
????int?next;
????int?child;
????int?parent;
}
HaarStageClassifier;
/*
typedef?struct?CvAvgComp
{
CvRect?rect;?//bounding?rectangle?for?the?object?(average?rectangle?of?a?group)?
int?neighbors;?//?number?of?neighbor?rectangles?in?the?group?
}
CvAvgComp;
*/
void?Output_Haarfeature(int?i)
{
printf(“第%6d個Haar特征如下:\n“
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????208100??2011-03-17?21:20??Rapid_ob
?????文件?????102551??2011-06-07?14:47??pain.cpp
?????文件??????36435??2011-05-07?15:34??MIT人臉庫\face\face.txt
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00001.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00002.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00003.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00004.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00005.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00006.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00007.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00008.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00009.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00010.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00011.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00012.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00013.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00014.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00015.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00016.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00017.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00018.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00019.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00020.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00021.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00022.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00023.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00024.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00025.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00026.bmp
?????文件???????1254??2004-05-02?18:55??MIT人臉庫\face\face00027.bmp
............此處省略22460個文件信息
評論
共有 條評論