• 大小: 545KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: QtOpencv  

资源简介

人脸识别,Qt,opencv2.4.9,

资源截图

代码片段和文件信息

#include “addpeople.h“
#include “ui_addpeople.h“
#include 
#include 

AddPeople::AddPeople(QWidget *parent) :
    QDialog(parent)
    ui(new Ui::AddPeople)
{
    ui->setupUi(this);
    this->setWindowtitle(tr(“人员添加“));

    connect(ui->TakeAPotoBtnSIGNAL(clicked())thisSLOT(on_TakeAPotoBtn_clicked())Qt::UniqueConnection);
}

AddPeople::~AddPeople()
{
    delete ui;
}

void AddPeople::TrainingModel()
{
    //读取你的CSV文件路径.
    //string fn_csv = string(argv[1]);
    std::string fn_csv = “./Data/at.txt“;

    // 2个容器来存放图像数据和对应的标签
    std::vector images;
    std::vector labels;
    // 读取数据. 如果文件不合法就会出错
    // 输入的文件名已经有了.
    try
    {
        read_csv(fn_csv images labels);
    }
    catch (cv::Exception& e)
    {
        std::cerr << “Error opening file \““ << fn_csv << “\“. Reason: “ << e.msg << endl;
        // 文件有问题,我们啥也做不了了,退出了
        return;
    }
    // 如果没有读取到足够图片,也退出.
    if (images.size() <= 1) {
        std::string error_message = “This demo needs at least 2 images to work. Please add more images to your data set!“;
        CV_Error(CV_StsError error_message);
    }

    // 下面的几行代码仅仅是从你的数据集中移除最后一张图片
    //[gm:自然这里需要根据自己的需要修改,他这里简化了很多问题]
    cv::Mat testSample = images[images.size() - 1];
//    int testLabel = labels[labels.size() - 1];
    images.pop_back();
    labels.pop_back();
    // 下面几行创建了一个特征脸模型用于人脸识别,
    // 通过CSV文件读取的图像和标签训练它。
    // T这里是一个完整的PCA变换
    //如果你只想保留10个主成分,使用如下代码
    //      cv::createEigenFaceRecognizer(10);
    //
    // 如果你还希望使用置信度阈值来初始化,使用以下语句:
    //      cv::createEigenFaceRecognizer(10 123.0);
    //
    // 如果你使用所有特征并且使用一个阈值,使用以下语句:
    cv::createEigenFaceRecognizer(0 123.0);

    cv::Ptr model = cv::createEigenFaceRecognizer();
    model->train(images labels);
    model->save(“MyFacePCAModel.xml“);

/*    cv::Ptr model1 = cv::createFisherFaceRecognizer();
    model1->train(images labels);
    model1->save(“MyFaceFisherModel.xml“);*/


    // 下面对测试图像进行预测,predictedLabel是预测标签结果
//    int predictedLabel = model->predict(testSample);
//    int predictedLabel1 = model1->predict(testSample);
//    int predictedLabel2 = model2->predict(testSample);

    // 还有一种调用方式,可以获取结果同时得到阈值:
          int predictedLabel = -1;
          double confidence = 0.0;
          model->predict(testSample predictedLabel confidence);
          qDebug()<<“confidencePCA:“<
}

cv::Mat AddPeople::norm_0_255(cv::InputArray _src)
{
      cv::Mat src = _src.getMat();
      // 创建和返回一个归一化后的图像矩阵:
      cv::Mat dst;
      switch (src.channels()) {
      case1:
          cv::normalize(_src dst 0 255 cv::NORM_MINMAX CV_8UC1);
          break;
      case3:
          cv::normalize(_src dst 0 255 cv::NORM_MINMAX CV_8UC3);
          break;
      default:
          src.copyTo(dst);
          break;
      }
      return dst;
}

void AddPeople::read_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       7694  2017-03-13 22:16  人脸识别Qt5.7creator程序源码\addpeople.cpp

     文件       1060  2017-01-15 12:47  人脸识别Qt5.7creator程序源码\addpeople.h

     文件       2033  2017-01-13 21:58  人脸识别Qt5.7creator程序源码\addpeople.ui

     文件       1154  2017-04-09 10:22  人脸识别Qt5.7creator程序源码\app.rc

     文件        754  2017-01-13 22:11  人脸识别Qt5.7creator程序源码\camera.cpp

     文件        440  2017-01-14 10:06  人脸识别Qt5.7creator程序源码\camera.h

     文件        321  2017-01-15 21:00  人脸识别Qt5.7creator程序源码\currtime.h

     文件       3214  2017-03-13 22:22  人脸识别Qt5.7creator程序源码\file.cpp

     文件        743  2017-01-15 12:47  人脸识别Qt5.7creator程序源码\file.h

     文件        797  2017-01-16 12:09  人脸识别Qt5.7creator程序源码\gbk.h

     文件      16958  2017-01-15 21:15  人脸识别Qt5.7creator程序源码\logo.ico

     文件        183  2017-01-13 15:11  人脸识别Qt5.7creator程序源码\main.cpp

     文件       6110  2017-05-04 09:18  人脸识别Qt5.7creator程序源码\mainwindow.cpp

     文件       1325  2017-03-13 22:57  人脸识别Qt5.7creator程序源码\mainwindow.h

     文件       5789  2017-01-15 21:02  人脸识别Qt5.7creator程序源码\mainwindow.ui

     文件       1610  2017-01-16 12:08  人脸识别Qt5.7creator程序源码\OpenCV_TD.pro

     文件      44139  2017-04-10 00:07  人脸识别Qt5.7creator程序源码\OpenCV_TD.pro.user

     文件       1538  2017-01-15 20:41  人脸识别Qt5.7creator程序源码\pic\about.png

     文件       1577  2017-01-13 20:43  人脸识别Qt5.7creator程序源码\pic\add.png

     文件       1318  2017-01-15 20:29  人脸识别Qt5.7creator程序源码\pic\addCSV.png

     文件       1989  2017-01-15 20:44  人脸识别Qt5.7creator程序源码\pic\check.png

     文件      11253  2017-01-15 20:50  人脸识别Qt5.7creator程序源码\pic\OpenCV.jpg

     文件     496851  2017-01-15 20:53  人脸识别Qt5.7creator程序源码\pic\Pic.PNG

     文件       2344  2017-01-14 10:01  人脸识别Qt5.7creator程序源码\pic\PrintSc.png

     文件      15528  2017-01-15 20:48  人脸识别Qt5.7creator程序源码\pic\Qt.jpg

     文件       1829  2017-01-15 20:38  人脸识别Qt5.7creator程序源码\pic\recognition.png

     文件        417  2017-01-15 20:53  人脸识别Qt5.7creator程序源码\pic\resource.qrc

     文件       1142  2017-01-15 20:35  人脸识别Qt5.7creator程序源码\pic\train.png

     文件       3071  2017-01-15 20:42  人脸识别Qt5.7creator程序源码\pic\use.png

     目录          0  2017-04-10 13:49  人脸识别Qt5.7creator程序源码\pic

............此处省略4个文件信息

评论

共有 条评论