资源简介
在vs2010+opencv2.4.9运行环境,通过特征脸、PCA、LBPH三种方法分别训练生成了三个分类器,有训练源代码(加详细注释)和含有400张92*112人脸的数据库!
代码片段和文件信息
//#include “stdafx.h“
#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
static Mat norm_0_255(InputArray _src) {
Mat src = _src.getMat();
// 创建和返回一个归一化后的图像矩阵:
Mat dst;
switch (src.channels()) {
case1:
cv::normalize(_src dst 0 255 NORM_MINMAX CV_8UC1);
break;
case3:
cv::normalize(_src dst 0 255 NORM_MINMAX CV_8UC3);
break;
default:
src.copyTo(dst);
break;
}
return dst;
}
//使用CSV文件去读图像和标签,主要使用stringstream和getline方法
static void read_csv(const string& filename vector& images vector& labels char separator = ‘;‘) {
std::ifstream file(filename.c_str() ifstream::in);
if (!file) {
string error_message = “No valid input file was given please check the given filename.“;
CV_Error(CV_StsBadArg error_message);
}
string line path classlabel;
while (getline(file line)) {
stringstream liness(line);
getline(liness path separator);
getline(liness classlabel);
if (!path.empty() && !classlabel.empty()) {
images.push_back(imread(path 0));
labels.push_back(atoi(classlabel.c_str()));
}
}
}
int main()
{
//读取你的CSV文件路径.
//string fn_csv = string(argv[1]);
string fn_csv = “at.txt“;
// 2个容器来存放图像数据和对应的标签
vector images;
vector labels;
// 读取数据. 如果文件不合法就会出错
// 输入的文件名已经有了.
try
{
read_csv(fn_csv images labels);
}
catch (cv::Exception& e)
{
cerr << “Error opening file \““ << fn_csv << “\“. Reason: “ << e.msg << endl;
// 文件有问题,我们啥也做不了了,退出了
exit(1);
}
// 如果没有读取到足够图片,也退出.
if (images.size() <= 1) {
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:自然这里需要根据自己的需要修改,他这里简化了很多问题]
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);
Ptr model = createEigenFaceRecognizer();
//Ptr model = createEigenFaceRecognizer();
model->train(images labels);
model->save(“MyFacePCAModel.xml“);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 125440 2018-03-22 10:22 训练模型\Debug\训练模型.exe
文件 815336 2018-03-22 10:22 训练模型\Debug\训练模型.ilk
文件 1608704 2018-03-22 10:22 训练模型\Debug\训练模型.pdb
文件 57671680 2018-05-30 23:41 训练模型\ipch\训练模型-f1021360\训练模型-96bc5428.ipch
文件 15039 2018-03-15 20:16 训练模型\训练模型\at.txt
文件 690 2018-03-22 10:22 训练模型\训练模型\Debug\cl.command.1.tlog
文件 18564 2018-03-22 10:22 训练模型\训练模型\Debug\CL.read.1.tlog
文件 396 2018-03-22 10:22 训练模型\训练模型\Debug\CL.write.1.tlog
文件 2 2018-03-22 10:22 训练模型\训练模型\Debug\li
文件 2 2018-03-22 10:22 训练模型\训练模型\Debug\li
文件 2 2018-03-22 10:22 训练模型\训练模型\Debug\li
文件 2 2018-03-22 10:22 训练模型\训练模型\Debug\li
文件 2 2018-03-22 10:22 训练模型\训练模型\Debug\li
文件 2 2018-03-22 10:22 训练模型\训练模型\Debug\li
文件 3198 2018-03-22 10:22 训练模型\训练模型\Debug\li
文件 9984 2018-03-22 10:22 训练模型\训练模型\Debug\li
文件 858 2018-03-22 10:22 训练模型\训练模型\Debug\li
文件 424217 2018-03-22 10:22 训练模型\训练模型\Debug\mian.obj
文件 390 2018-03-22 10:22 训练模型\训练模型\Debug\mt.command.1.tlog
文件 450 2018-03-22 10:22 训练模型\训练模型\Debug\mt.read.1.tlog
文件 346 2018-03-22 10:22 训练模型\训练模型\Debug\mt.write.1.tlog
文件 542 2018-03-22 10:22 训练模型\训练模型\Debug\rc.command.1.tlog
文件 422 2018-03-22 10:22 训练模型\训练模型\Debug\rc.read.1.tlog
文件 326 2018-03-22 10:22 训练模型\训练模型\Debug\rc.write.1.tlog
文件 478208 2018-03-22 10:22 训练模型\训练模型\Debug\vc100.idb
文件 978944 2018-03-22 10:22 训练模型\训练模型\Debug\vc100.pdb
文件 2604 2018-03-22 10:21 训练模型\训练模型\Debug\训练模型.Build.CppClean.log
文件 406 2018-03-22 10:22 训练模型\训练模型\Debug\训练模型.exe.em
文件 472 2018-03-22 10:22 训练模型\训练模型\Debug\训练模型.exe.em
文件 381 2018-03-22 10:22 训练模型\训练模型\Debug\训练模型.exe.intermediate.manifest
............此处省略465个文件信息
相关资源
- 复旦大学中文文本分类数据集-训练
- tensorflow数据集制作以及使用Inception
- 程序员考试同步辅导 考点串讲、真题
- loadrunner性能测试巧匠训练营完整版
- 中文文本分类语料复旦-训练集
- gan,wgan对抗生成网络二次元头像训练
- 火灾检测图片voc集和训练好的yolo_ti
- 10000例人脸照片+金发,训练人脸识别
- YoloV4 COCO数据集预训练权重
- places205CNN_deploy30万次预训练模型caff
- MTCNN-caffe版本训练数据
- 中文自然语言处理中文分词训练语料
- YOLO v3目标检测算法的PyTorch实现压缩包
- 算法笔记-带上机训练宝典
- 自己训练的googlenet inception v1 v3模型
- 手写字符数据集已经普通字符、数字
- GTSRB 训练数据的png格式0-30类
- pytorch-resnet18和resnet50官方预训练模型
- opencv训练分类器正负样本库
- 6000张人脸图片,用于人脸训练检测识
- tesseract生成自定义字库的软件和说明
- 110张火焰烟雾图片 及相应训练配置文
- Unity射击游戏资源包
- caffe-SSD网络预训练模型
- 复旦文本分类语料数据集 包含训练集
- cifar10的训练好的tfrecord文件
- 掌纹掌静脉识别训练图片600人共1200
- License Plate Recognition.zip (车牌号码识
- Oxford flowers17数据集,已打乱并划分
- 算法笔记 & 上机训练实战指南 二部
评论
共有 条评论