资源简介
人脸识别,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个文件信息
评论
共有 条评论