一、批处理描述文件负样本图片名字,并保存到一个TXT文件中
负样本需要的描述文件是一个TXT文件 ,描述的是所有负样本的具体路径,如图所示:
制作方法如下:
1.在负样本的文件夹中新建一个记事本命名为TXT_creat.txt,内容如下:
@echo off
dir/s/b *.*>H:cascadetrain egativeimg.txt
pause
exit
2. 将上面H:cascadetrain egativeimg.txt 路径改为需要生成描述文件的位置。
注释: @echo off 表示关闭回显;
*.* 也可以不加;
> 的含义是把前面的结果放到后面的文件中;
"文件路径" 既可以是绝对路径,也可以是相对路径,不过笔者认为还是用绝对路径比较好;
3. 将上述记事本保存后,更改为.bat文件,具体方法也就是直接重命名即可,顺便把扩展名由.txt改为.bat
4. 双击该.bat文件,即可运行,如图:
运行结束后,请点开生成的.txt文件,如图:
将txt文件中与负样本数据无关的文件夹路径删除如图:
将txt文件内容复制到world中,按住Alt选中每行的H:cascadetrain egative 然后删除。
然后复制world中的所有内容粘贴到负样本的txt文件保存。如图:
5. 删除负样本中的.bat文件。
注 ***(该方法比较简陋和复杂,后面会持续更新用代码一键生成描述文件,请持续关注博主更新,谢谢!)
二、正样本描述文件批处理方法
我们这里正样本描述文件是一个.dat文件,描述的是一个正样本的数据路径 + “1 0 0 100 100”如下图所示:
后面部分1的含义是该幅人脸图片中只含有一个人脸,后面两个0的含义是,人脸在图片的起始坐标为(0,0);
最后两个100的含义是该人脸的大小,宽为100个像素,高为100个像素。
1.正样本描述文件与负样本描述文件的第一步一样,先在正样本的文件夹中新建一个记事本,内容和负样本一样。
2. 将路径改为需要生成描述文件的位置。
3.—5.与上面负样本操作完全一样。
6.再新建一个批处理文件(.bat)放在与上面正样本描述文件,同一文件夹路径下,暂时取名为post_txt.bat,其内容如下:
@echo off
set c= 1 0 0 20 20
for /f "tokens=* delims= " %%i in (img.txt) do echo %%i%c%>>"info.txt"
pause
注意:
“tokens=* ” 表示取整个行当成一个整体;
“delims= ” 的后面一定要有空格;
%%i in (pos.txt) 中间也一定有空格;
7. 这样就生成了正样本的 数据描述文件 info.txt最后将文件重命名为info.dat
描述文件生成的源代码: (请自行下载)
链接:https://pan.baidu.com/s/1MQnFwvlR2aHJkah_vaX9rg
提取码:yeop