• 大小: 26KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: 人脸识别  

资源简介

使用qt,编写人脸识别,读取摄像头的人脸数据,之后人脸识别

资源截图

代码片段和文件信息

#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 < n2 ? n1 : n2)

#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 < userFiles.size() ; 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: “ << trainingSize << endl;
  cout << “testingSize: “ << testingSize << endl;
#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

评论

共有 条评论