人脸识别(二)----如何生成CSV文件

当我们写人脸模型训练的时候,我们需要读取人脸的路径path和人脸对应的标签label。人脸的路径就是人脸图片所在你的电脑的位置,标签就是一个人对应一个标签(注意不是一张图片,如果同一个人,人脸库中有该人的10张图片,那么这10张图片的标签都是一样的)

如果手动输入当然是不可行的。所以我们需要csv文件,读取这个文件进行模型训练。
查了好多资料主要有python写 和直接cmd生成
①cmd

  1. 打开cmd (win+R)
  2. cd D: (文件所在的磁盘)
  3. cd 文件路径,点回车
  4. 输入dir /b/s/p/w *.pgm *.jpg>at.txt
    我们会很失望得发现 at.txt中并没有我们需要的标签

    那我们要自己手动输入标签???这种方法当然不行,,当然无奈之下只能这么干
    =========================================================
    ②用python写 如果你的电脑刚好配置了python那正好,但是如果你所有的人脸识别过程都是C++的代码,这个就十分不方便了。如果你选用这个在这里不给出代码了,自己搜一下
    =========================================================
    ③在这里我要给出用C++代码来生成CSV文件,在代码中我将CSV文件命名为at.txt
    路径和标签对用“ ”空格隔开了,当然你也可以用分号等
    讲了这么多,下面直接上代码 注意要包含头文件
#include<fstream>#include<sstream>void getFiles(string path, vector<string>& files){//文件句柄  intptr_t   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);num++;}}else{files.push_back(p.assign(path).append("\\").append(fileinfo.name));number.push_back(num);}} while (_findnext(hFile, &fileinfo) == 0);_findclose(hFile);}
}
void FaceTrain::OnBnClickedButcsv()    //点击按钮生成CSV文件
{char* filepath = "..\\att_faces"; //这里是相对路径,最后面的文件夹是人脸库的名称vector<string> files;getFiles(filepath, files);char str[30];int size = files.size();for (int i = 1; i < size; i++) {off << files[i].c_str();off << " ";                             //路径和标签 用空格隔开off << number[i];off << "\n";}off.close();MessageBox(_T("succeed!"));   //生成成功!
}


结果文件显示

这样就可以完成啦

button 按钮 生成CSV文件

下次继续写,共勉!

人脸识别(二)----如何生成CSV文件相关推荐

  1. 语音控制+人脸识别——二次开发 Parrot 无人机!

    继"如何用100美元和 TensorFlow 来造一个能'看'东西的机器人" 之后,Lukas 又一最新力作. 在"造"出能进行物体识别的机器人后,下一步就很清 ...

  2. Java实现生成csv文件并导入数据

    一.需求: 下载列表,在没有过滤之前下载列表所有数据,点击过滤之后,下载过滤之后对数据,生成csv文件. 二.思路: 先根据条件(是否过滤了数据)筛选出数据,将数据导入csv文件,生成文件并返回. 三 ...

  3. Java多线程-将全量用户表70万数据压缩并生成CSV文件和推送到FTP上(最快快方式)

    需求来源 我们系统作为组织用户的数据源, 很多下级单位系统需要不定时的获取用户全量表的数据,因为安全的原因我们不提对外接口,而是将数据读取出来并生成csv文件,然后进行压缩为gz文件之后, 放在他们指 ...

  4. 27. 生成CSV文件

    CSV(Comma-Separated Values)文件中文件字符分隔值,CSV文件以纯文本形式存储表格数据(数字和文本),可以被常见制表工具(excel等)直接读取 目录 1  生成CSV 2   ...

  5. 数据库抽取,生成CSV文件导出,CSVUtils工具类

    2019独角兽企业重金招聘Python工程师标准>>> 开发背景: 最近一直在忙一个任务调度系统,需求一直没定下来,需求一直变更,调度一直改,往往复复... 等这波忙完了可以写一下关 ...

  6. Java生成CSV文件

    1.新CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils;import java.io.BufferedWriter; imp ...

  7. POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解...

    http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...

  8. java将数据生成csv文件

    1,httpRequest接口触发进程[或者可以换成其他方式触发] /** * 出入库生成CSV文件 * @param req * @param params * @return */@Request ...

  9. 在 Apex 代码中生成 csv 文件

    在 Apex 代码中生成 csv 文件可以写一个 Visualforce 页面,设定类型为 excel 的格式,然后调用 PageReference 的 getContent()方法来获取 Blob ...

最新文章

  1. R语言生存分析模型简介及survival包实现实战:基于survival包lung数据集
  2. 如何验证php7安装成功_linux安装php7的方法详解
  3. string的find和find_first_of的区别
  4. Python学习笔记整理(十五)类的编写细节
  5. h.264 scanning process for transform coefficients
  6. Java学习笔记(八)--字符串生成器
  7. HTML5文档查看器PrizmDoc发布v13.0,新增文档比较功能
  8. python 线性规划问题_使用Python进行线性规划示例
  9. php扩展多线程和多进程,PHP 多进程和多线程的优缺点
  10. 话里话外:谁才是流程的主人
  11. php 手册中show的使用,文档工具--showdoc(一)
  12. HBase完全分布式集群部署
  13. 最大公约数及最小公倍数计算
  14. 一人一猫旅行记之浅析单例模式
  15. 《 Matlab_Simulink动力学系统建模仿真》及 ‘///’动力学 达朗贝尔原理、虚位移原理、朗格朗日方程...
  16. 劳动合同法电子版(2021年的合同书,应该是目前最新版)
  17. [量子客] 12月全球量子资讯周报
  18. 【经验分享】设置电脑定时开关机
  19. 武音官网服务器不稳定,@所有武音er | 恭喜你获得一张教育网WiFi“国际通行证”...
  20. 无线路由WDS无线中继功能详解[转]

热门文章

  1. win10 Android Studio无法检测手机设备(最后一步ADB找不到设备)
  2. Java-字符串大小的比较
  3. ps右键不显示编辑选项_PS教程教你如何删除和修改图片文字却不留痕迹
  4. MYSQL(连接查询,子查询)
  5. 关于xilinx FPGA gtx和gth的区别
  6. 003、pip配置国内源
  7. 计算机科学与技术用惠普星15,准大学生必看的笔记本选购指南 惠普暗影精灵7满足不同专业的你...
  8. linux中Weblogic10.3.6补丁升级方案及对应升级包
  9. python3 md5源码实现(没有调库)适合用作密码学(实验)作业
  10. 数据插入骚操作,大批量插入轻松过滤重复数据