一、批處理描述文件負樣本圖片名字,並保存到一個TXT文件中
負樣本需要的描述文件是一個TXT文件 ,描述的是所有負樣本的具體路徑,如圖所示:
制作方法如下:
1.在負樣本的文件夾中新建一個記事本命名為TXT_creat.txt,內容如下:
@echo off
dir/s/b *.*>H:\cascadetrain\negative\img.txt
pause
exit
2. 將上面H:\cascadetrain\negative\img.txt 路徑改為需要生成描述文件的位置。
注釋: @echo off 表示關閉回顯;
*.* 也可以不加;
> 的含義是把前面的結果放到后面的文件中;
"文件路徑" 既可以是絕對路徑,也可以是相對路徑,不過筆者認為還是用絕對路徑比較好;
3. 將上述記事本保存后,更改為.bat文件,具體方法也就是直接重命名即可,順便把擴展名由.txt改為.bat
4. 雙擊該.bat文件,即可運行,如圖:
運行結束后,請點開生成的.txt文件,如圖:
將txt文件中與負樣本數據無關的文件夾路徑刪除如圖:
將txt文件內容復制到world中,按住Alt選中每行的H:\cascadetrain\negative\ 然后刪除。
然后復制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