ORL人脸库的遍历及CSV按标准排序
在做人脸识别使用ORL人脸库进行训练时,往往会遇到遍历图片生成CSV文件来训练人脸。那么我来整理一下ORL人脸库的遍历及CSV按标准排序。
1.准备工作
1.ORL人脸库,动手去搜吧
2.动手解压到该名字的文件夹,不要直接解压到当前文件夹,不然会散成40个人脸文件夹
3.进入CMD窗口,切换到你解压的人脸库;输入命令:dir /b >name.xls
4.打开xls,就会如下图所示如果用下面的代码遍历,CSV文佳就会按照这个顺序排列,所以我们需要稍作处理,然后在C列输入:="ren "&A1&" "&B1&"",注意,这不是中文输入法下的双引号,建议手动输入。其实就是建议一行命令字符串,便于后面使用。
5.将C列的代码复制,新建文本,改后缀为.bat,编辑并保存,双击运行.bat即可;你会发现,1号还是1号,3号还是3号,这就是批量改名,改完后请把.xls与.bat删除,因为等会会遍历这个文件夹
2.代码工作
#define READ_CSV_FILE "at.txt",这是将要遍历到的CSV的文件,我只是要方便用,所以用宏定义
void travelFaceFile()
{int num = 1;char* filepath = "D:\\Temp\\ORLFaceData";vector<string> files;vector <int> labels;ofstream off(READ_CSV_FILE, ios::out);getFiles(filepath, files,labels,num);char str[30];int size = files.size();for (int i = 0; i < size; i++){off << files[i].c_str();off << ";";off << labels[i];off << "\n";}off.close();return ;
}
下面这段代码就是网上流传较广的C++遍历ORL的文件代码,我只是将其修改成适合我用,你们可以参考
void getFiles(string path, vector<string>&files, vector<int>&labels,int &num)
{long hFile = 0;struct _finddata_t fileinfo;string p;if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1){do{//如果是目录,迭代之 //如果不是,加入列表 if ((fileinfo.attrib &_A_SUBDIR)){if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0){getFiles(p.assign(path).append("\\").append(fileinfo.name), files,labels,num);num++;} }else{files.push_back(p.assign(path).append("\\").append(fileinfo.name));labels.push_back(num);}} while (_findnext(hFile,&fileinfo)==0);_findclose(hFile);}
} //如果不是,加入列表 if ((fileinfo.attrib &_A_SUBDIR)){if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0){getFiles(p.assign(path).append("\\").append(fileinfo.name), files,labels,num);num++;} }else{files.push_back(p.assign(path).append("\\").append(fileinfo.name));labels.push_back(num);}} while (_findnext(hFile,&fileinfo)==0);_findclose(hFile);}
}
收工了,你看项目下的at.txt ,就是按序排列了,就不用记label与Image的对应关系了
ORL人脸库的遍历及CSV按标准排序相关推荐
- 基于PCA方法的ORL人脸识别及Python代码实现
基于PCA方法的ORL人脸识别及Python代码实现 PCA算法 方案设计 代码实现 结果分析 参考文献 PCA的理论知识已经有很多博客做了清晰的解释,主要概括为找到投影的面使得类间误差最大,转化为找 ...
- 【毕业设计/Matlab系列】基于PCA和BP神经网络的人脸识别系统(基于AR人脸库)
Date: 2022.5.30 文章目录 前言 1.算法原理 2.实现效果 3.测试matlab代码 前言 在大学毕业设计的时候,在毕业设计中实现了基于PCA和BP神经网络的人脸识别系统,采用matl ...
- PCA实验人脸库-人脸识别(四)
一):人脸数据库 AR人脸库(包含50位男性和50位女性每人26张人脸共2600张人脸图片 ): http://www.datatang.com/data/46195 ORL人脸库(包含40个人的每人 ...
- PCA人脸识别GUI(ORL+Yale人脸库)
该系统为基于MATLAB平台的PCA的人脸识别系统,可识别ORL和YALE人脸库,方法实现统一,包括GUI界面.另外可二次开发成摄像头的实时人脸系统,识别出库外人脸,可做成门禁系统,考勤系统,打卡签到 ...
- 应用层下的人脸识别(二):人脸库
本文作者根据多年人脸识别项目经验,总结了人脸识别技术在安防.商业领域应用及产品设计细节,汇总成应用层下的人脸识别系列文章. 本文为系列文章的第二篇,介绍人脸库的相关内容.人脸库是人脸识别的基础,建立人 ...
- openCV+ASM+LBP+Gabor实现人脸识别(GT人脸库)
原理:使用GT人脸库做样本,VS2010下使用openCV2.44自带的Haar算法检測人脸区域,ASM Library特征检測,然后使用YCrCb颜色空间做肤色检測,再用LBP+Gabor小波提取特 ...
- 大华sdk(java)上传人脸图片到人脸库,订阅人脸识别对比
上传人脸图片到人脸库 controller: @RestController @RequestMapping("/facePicture") public class FacePi ...
- matlab人脸识别样本库建立,facenet 人脸识别(二)——创建人脸库搭建人脸识别系统...
搭建人脸库 选择的方式是从百度下载明星照片 照片下载,downloadImageByBaidu.py # coding=utf-8 """ 爬取百度图片的高清原图 &qu ...
- delphi百度人脸搜索(支持人脸搜索、人脸库新增修改删除查询)
下载链接:https://download.csdn.net/download/liushenglin123/12550077 [delphi百度人脸搜索]支持人脸搜索.人脸库新增修改删除查询
最新文章
- linux跟踪线程的方法:LWP和strace命令
- 我的第一个MapReduce程序(WordCount)
- 使用ffmpeg推流到Wowza
- Maven项目上总有一个小红叉问题
- 在 Mac OSX 版的 LispBox 环境上安装配置 SBCL 详细过程
- atitti.atiNav 手机导航组件的设计
- hdu-1029 Ignatius and the Princess IV
- 消息队列面试连环炮,你抗得住吗?
- linux 核间通讯rpmsg架构分析
- linux+proc+原理,Linux内核中的Proc文件系统(一)
- 数据仓库之电商数仓-- 4、可视化报表Superset
- C++编程语言中引用(reference)介绍
- 串口通信接口标准(三)——RS232
- pdf怎么转换成图片?
- Android 应用程序之间内容分享详解(一)
- 这家SaaS公司估值50亿美元,竟然没有一个销售人员
- 模拟外线O口呼入时,看不到来电显示号码?
- 怎样在LaTeX中使用中文
- python effective 骚操作
- 女人最想让男人知道的48件事(zt)