在做人脸识别使用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按标准排序相关推荐

  1. 基于PCA方法的ORL人脸识别及Python代码实现

    基于PCA方法的ORL人脸识别及Python代码实现 PCA算法 方案设计 代码实现 结果分析 参考文献 PCA的理论知识已经有很多博客做了清晰的解释,主要概括为找到投影的面使得类间误差最大,转化为找 ...

  2. 【毕业设计/Matlab系列】基于PCA和BP神经网络的人脸识别系统(基于AR人脸库)

    Date: 2022.5.30 文章目录 前言 1.算法原理 2.实现效果 3.测试matlab代码 前言 在大学毕业设计的时候,在毕业设计中实现了基于PCA和BP神经网络的人脸识别系统,采用matl ...

  3. PCA实验人脸库-人脸识别(四)

    一):人脸数据库 AR人脸库(包含50位男性和50位女性每人26张人脸共2600张人脸图片 ): http://www.datatang.com/data/46195 ORL人脸库(包含40个人的每人 ...

  4. PCA人脸识别GUI(ORL+Yale人脸库)

    该系统为基于MATLAB平台的PCA的人脸识别系统,可识别ORL和YALE人脸库,方法实现统一,包括GUI界面.另外可二次开发成摄像头的实时人脸系统,识别出库外人脸,可做成门禁系统,考勤系统,打卡签到 ...

  5. 应用层下的人脸识别(二):人脸库

    本文作者根据多年人脸识别项目经验,总结了人脸识别技术在安防.商业领域应用及产品设计细节,汇总成应用层下的人脸识别系列文章. 本文为系列文章的第二篇,介绍人脸库的相关内容.人脸库是人脸识别的基础,建立人 ...

  6. openCV+ASM+LBP+Gabor实现人脸识别(GT人脸库)

    原理:使用GT人脸库做样本,VS2010下使用openCV2.44自带的Haar算法检測人脸区域,ASM Library特征检測,然后使用YCrCb颜色空间做肤色检測,再用LBP+Gabor小波提取特 ...

  7. 大华sdk(java)上传人脸图片到人脸库,订阅人脸识别对比

    上传人脸图片到人脸库 controller: @RestController @RequestMapping("/facePicture") public class FacePi ...

  8. matlab人脸识别样本库建立,facenet 人脸识别(二)——创建人脸库搭建人脸识别系统...

    搭建人脸库 选择的方式是从百度下载明星照片 照片下载,downloadImageByBaidu.py # coding=utf-8 """ 爬取百度图片的高清原图 &qu ...

  9. delphi百度人脸搜索(支持人脸搜索、人脸库新增修改删除查询)

    下载链接:https://download.csdn.net/download/liushenglin123/12550077 [delphi百度人脸搜索]支持人脸搜索.人脸库新增修改删除查询

最新文章

  1. linux跟踪线程的方法:LWP和strace命令
  2. 我的第一个MapReduce程序(WordCount)
  3. 使用ffmpeg推流到Wowza
  4. Maven项目上总有一个小红叉问题
  5. 在 Mac OSX 版的 LispBox 环境上安装配置 SBCL 详细过程
  6. atitti.atiNav 手机导航组件的设计
  7. hdu-1029 Ignatius and the Princess IV
  8. 消息队列面试连环炮,你抗得住吗?
  9. linux 核间通讯rpmsg架构分析
  10. linux+proc+原理,Linux内核中的Proc文件系统(一)
  11. 数据仓库之电商数仓-- 4、可视化报表Superset
  12. C++编程语言中引用(reference)介绍
  13. 串口通信接口标准(三)——RS232
  14. pdf怎么转换成图片?
  15. Android 应用程序之间内容分享详解(一)
  16. 这家SaaS公司估值50亿美元,竟然没有一个销售人员
  17. 模拟外线O口呼入时,看不到来电显示号码?
  18. 怎样在LaTeX中使用中文
  19. python effective 骚操作
  20. 女人最想让男人知道的48件事(zt)

热门文章

  1. uniapp 使用 官方CSS 和 引入 Iconf阿里巴巴矢量库的Css
  2. UE4透明渲染层级错误问题
  3. Tensorflow分布式训练原理
  4. 完美通行证身份证号格式_如何渲染3D足球通行证网络
  5. java jna修改系统时间_JNA回调函数使用以及持续回调问题
  6. Java生态/Redis中如何使用Lua脚本
  7. Texlive 2021+Sublime 3+SumatraPDF 不常见问题
  8. PLSQL使用游标进行批量更新的方式
  9. 微信小程序如何开发可以直击客户痛点?
  10. RK3588+FPGA+Cameralink高速相机解决方案