人脸识别(二)----如何生成CSV文件
人脸识别(二)----如何生成CSV文件
当我们写人脸模型训练的时候,我们需要读取人脸的路径path和人脸对应的标签label。人脸的路径就是人脸图片所在你的电脑的位置,标签就是一个人对应一个标签(注意不是一张图片,如果同一个人,人脸库中有该人的10张图片,那么这10张图片的标签都是一样的)
如果手动输入当然是不可行的。所以我们需要csv文件,读取这个文件进行模型训练。
查了好多资料主要有python写 和直接cmd生成
①cmd
- 打开cmd (win+R)
- cd D: (文件所在的磁盘)
- cd 文件路径,点回车
- 输入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文件相关推荐
- 语音控制+人脸识别——二次开发 Parrot 无人机!
继"如何用100美元和 TensorFlow 来造一个能'看'东西的机器人" 之后,Lukas 又一最新力作. 在"造"出能进行物体识别的机器人后,下一步就很清 ...
- Java实现生成csv文件并导入数据
一.需求: 下载列表,在没有过滤之前下载列表所有数据,点击过滤之后,下载过滤之后对数据,生成csv文件. 二.思路: 先根据条件(是否过滤了数据)筛选出数据,将数据导入csv文件,生成文件并返回. 三 ...
- Java多线程-将全量用户表70万数据压缩并生成CSV文件和推送到FTP上(最快快方式)
需求来源 我们系统作为组织用户的数据源, 很多下级单位系统需要不定时的获取用户全量表的数据,因为安全的原因我们不提对外接口,而是将数据读取出来并生成csv文件,然后进行压缩为gz文件之后, 放在他们指 ...
- 27. 生成CSV文件
CSV(Comma-Separated Values)文件中文件字符分隔值,CSV文件以纯文本形式存储表格数据(数字和文本),可以被常见制表工具(excel等)直接读取 目录 1 生成CSV 2 ...
- 数据库抽取,生成CSV文件导出,CSVUtils工具类
2019独角兽企业重金招聘Python工程师标准>>> 开发背景: 最近一直在忙一个任务调度系统,需求一直没定下来,需求一直变更,调度一直改,往往复复... 等这波忙完了可以写一下关 ...
- Java生成CSV文件
1.新CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils;import java.io.BufferedWriter; imp ...
- POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解...
http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280. ...
- java将数据生成csv文件
1,httpRequest接口触发进程[或者可以换成其他方式触发] /** * 出入库生成CSV文件 * @param req * @param params * @return */@Request ...
- 在 Apex 代码中生成 csv 文件
在 Apex 代码中生成 csv 文件可以写一个 Visualforce 页面,设定类型为 excel 的格式,然后调用 PageReference 的 getContent()方法来获取 Blob ...
最新文章
- R语言生存分析模型简介及survival包实现实战:基于survival包lung数据集
- 如何验证php7安装成功_linux安装php7的方法详解
- string的find和find_first_of的区别
- Python学习笔记整理(十五)类的编写细节
- h.264 scanning process for transform coefficients
- Java学习笔记(八)--字符串生成器
- HTML5文档查看器PrizmDoc发布v13.0,新增文档比较功能
- python 线性规划问题_使用Python进行线性规划示例
- php扩展多线程和多进程,PHP 多进程和多线程的优缺点
- 话里话外:谁才是流程的主人
- php 手册中show的使用,文档工具--showdoc(一)
- HBase完全分布式集群部署
- 最大公约数及最小公倍数计算
- 一人一猫旅行记之浅析单例模式
- 《 Matlab_Simulink动力学系统建模仿真》及 ‘///’动力学 达朗贝尔原理、虚位移原理、朗格朗日方程...
- 劳动合同法电子版(2021年的合同书,应该是目前最新版)
- [量子客] 12月全球量子资讯周报
- 【经验分享】设置电脑定时开关机
- 武音官网服务器不稳定,@所有武音er | 恭喜你获得一张教育网WiFi“国际通行证”...
- 无线路由WDS无线中继功能详解[转]
热门文章
- win10 Android Studio无法检测手机设备(最后一步ADB找不到设备)
- Java-字符串大小的比较
- ps右键不显示编辑选项_PS教程教你如何删除和修改图片文字却不留痕迹
- MYSQL(连接查询,子查询)
- 关于xilinx FPGA gtx和gth的区别
- 003、pip配置国内源
- 计算机科学与技术用惠普星15,准大学生必看的笔记本选购指南 惠普暗影精灵7满足不同专业的你...
- linux中Weblogic10.3.6补丁升级方案及对应升级包
- python3 md5源码实现(没有调库)适合用作密码学(实验)作业
- 数据插入骚操作,大批量插入轻松过滤重复数据