資源簡介
使用qt,編寫人臉識別,讀取攝像頭的人臉數(shù)據(jù),之后人臉識別

代碼片段和文件信息
#include?“classifier.h“
#define?DEFAULT_CLASSIIFIER_TYPE?C_SVC
#define?DEFAULT_CLASSIIFIER_KERNEL_TYPE?RBF
#define?DEFAULT_G?0.1
#define?DEFAULT_C?1
#define?DEFAULT_NU?0.1
#define?DEFAULT_DEGREE?2
#define?DEFAULT_COEF0?0.1
#define?DEFAULT_P?0
#define?LTP_THRESHOLD?25
#define?MAX_ITERATION?1000
//?macro
#undef?MIN
#define?MIN(n1?n2)?(n1?
#define?IMAGE_WIDTH_KEY?“ImageWidth“
#define?IMAGE_HEIGHT_KEY?“ImageHeight“
#define?FEATURE_TYPE_KEY?“FeatureType“
#ifdef?QT_DEBUG
using?std::cout;
using?std::endl;
#endif
using?std::vector;
using?std::pair;
using?cv::ml::TrainData;
using?cv::ml::ROW_SAMPLE;
using?cv::imread;
using?cv::resize;
using?cv::ml::StatModel;
namespace?classifier?{
//?constants
const?double?DEFAULT_TEST_PERCENT?=?0.1;
const?double?DEFAULT_TRAINING_STEP?=?0.05;
const?double?DEFAULT_IMAGE_SIZE?=?64;
const?double?DEFAULT_GAMMA?=?DEFAULT_G;
const?double?MIN_GAMMA?=?1e-16;
const?double?TEST_ACCURACY_REQUIREMENT?=?0.966;
//?local?constants
/*****?TrainingDataLoader?******/
TrainingDataLoader::TrainingDataLoader(const?LoadingParams?params)?{
??this->directory?=?params.directory;
??this->percent?=?params.percentForTraining;
??this->featureType?=?params.featureType;
??this->bgDir?=?params.bgDir;
??this->posDir?=?params.posDir;
??this->negDir?=?params.negDir;
??this->imageSize?=?params.imageSize;
}
void?TrainingDataLoader::load(Mat&?trainingData
??????????????????????????????Mat&?trainingLabel
??????????????????????????????map&?names)?{
??//?directory?constants
??size_t?trainingSize?=?0?testingSize?=?0;
??vector?userFiles?exclusion;
??exclusion.push_back(“.“);
??exclusion.push_back(“..“);
??scanDir(directory?userFiles?exclusion);
??for?(uint32_t?i?=?0?;?i?????string?path;
????vector?imagePaths;
????if?(strcmp(userFiles[i].c_str()?bgDir.c_str())?==?0)?{
??????//?background?images
??????path?=?directory?+?string(SEPARATOR)?+?userFiles[i];
????}?else?{
??????//?users?images
??????path?=?directory?+?string(SEPARATOR)?+?userFiles[i]?+?posDir;
????}
????scanDir(path?imagePaths?exclusion);
????trainingSize?+=?static_cast(imagePaths.size()?*?percent);
????testingSize?+=?static_cast(imagePaths.size()?*?(1-percent));
????//?mappings
????names.insert(pair((i-userFiles.size()/2)
??????????????????????????????????userFiles[i]));
??}
#ifdef?DEBUG
??cout?<“trainingSize:?“?<??cout?<“testingSize:?“?<#endif
#ifdef?QT_DEBUG
??sendMessage(QString(“training?size:?“)?+
??????????????QString::number(trainingSize));
#endif
??//?prepare?the?matrix?for?training
??uint32_t?featureLength?=?0;
??switch?(featureType)?{
????case?LBP:
??????featureLength?=?process::LBP_FEATURE_LENGTH;
??????break;
????case?LTP:
??????featureLength?=?process::LTP_FEATURE_LENGTH;
??????break;
????case?CSLTP:
??????featureLength?=?process::CSLTP_FEATURE_LENGTH;
??????break;
????case?HAAR:
??????featureLength?=?0;
??????break;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-03-09?19:48??FaceRecognition-master\
?????文件??????????48??2016-03-09?19:48??FaceRecognition-master\.gitignore
?????文件?????????325??2016-03-09?19:48??FaceRecognition-master\.travis.yml
?????文件????????1220??2016-03-09?19:48??FaceRecognition-master\FaceRecognition.pro
?????文件?????????688??2016-03-09?19:48??FaceRecognition-master\README.md
?????目錄???????????0??2016-03-09?19:48??FaceRecognition-master\src\
?????文件??????????20??2016-03-09?19:48??FaceRecognition-master\src\.gitignore
?????文件???????29830??2016-03-09?19:48??FaceRecognition-master\src\classifier.cpp
?????文件????????6693??2016-03-09?19:48??FaceRecognition-master\src\classifier.h
?????文件????????4433??2016-03-09?19:48??FaceRecognition-master\src\common.cpp
?????文件????????1164??2016-03-09?19:48??FaceRecognition-master\src\common.h
?????文件????????1351??2016-03-09?19:48??FaceRecognition-master\src\imageviewer.cpp
?????文件?????????358??2016-03-09?19:48??FaceRecognition-master\src\imageviewer.h
?????文件?????????205??2016-03-09?19:48??FaceRecognition-master\src\main.cpp
?????文件???????17870??2016-03-09?19:48??FaceRecognition-master\src\mainwindow.cpp
?????文件????????3399??2016-03-09?19:48??FaceRecognition-master\src\mainwindow.h
?????文件????????1369??2016-03-09?19:48??FaceRecognition-master\src\opencvcamera.cpp
?????文件????????1235??2016-03-09?19:48??FaceRecognition-master\src\opencvcamera.h
?????文件???????11198??2016-03-09?19:48??FaceRecognition-master\src\process.cpp
?????文件?????????813??2016-03-09?19:48??FaceRecognition-master\src\process.h
?????文件????????3976??2016-03-09?19:48??FaceRecognition-master\src\trainingtask.cpp
?????文件????????1480??2016-03-09?19:48??FaceRecognition-master\src\trainingtask.h
?????目錄???????????0??2016-03-09?19:48??FaceRecognition-master\ui\
?????文件??????????20??2016-03-09?19:48??FaceRecognition-master\ui\.gitignore
?????文件???????15951??2016-03-09?19:48??FaceRecognition-master\ui\mainwindow.ui
評論
共有 條評論