1. 用shell腳本生成帶絕對路徑的train.txt
例如我要生成如下形式的帶標簽的文件,如圖:(如有兩個標簽:0 和 1)
shell腳本如下:
這樣標簽0寫入了train.txt
1 # /usr/bin/env sh
2 DATA=/home/ttwang/Desktop/Texture/0
3 DATASAVE=/home/ttwang/Desktop 4
5 echo "Create train.txt..."
6
7 # /usr/bin/env sh
8 find $DATA -name Grass*.jpg | sed "s/$/ 1/" >>$DATASAVE/train.txt 9
10 echo "Done.."
再寫一個腳本,這樣就把指定文件下的想要做成標簽1的圖片寫入了train.txt,(這樣比較麻煩,肯定有比這更好的)
# /usr/bin/env sh
DATA=/home/ttwang/Desktop/Texture/1 DATASAVE=/home/ttwang/Desktop echo "Create train.txt..."
# /usr/bin/env sh
find $DATA -name Road*.jpg | sed "s/$/ 1/" >>$DATASAVE/train.txt echo "Done.."
然后,運行腳本: sh 1.sh / sh 2.sh (假設腳本文件名為這個),就行了!
(1)如果不想顯示那么多路徑,就相應該DATA路徑的表示,或者使用cut 具體參考(用到時再細看)
用python腳本生成的train.txt
2.用python腳本生成train.txt
例如我要生成如下形式的帶標簽的文件,如圖:
python腳本如下:
1 import os 2 def generate(dir,label): 3 files = os.listdir(dir) 4 files.sort() 5 print '****************' 6 print 'input :',dir 7 print 'start...' 8 listText = open(dir+'/'+'list.txt','w') 9 for file in files: 10 fileType = os.path.split(file) 11 if fileType[1] == '.txt': 12 continue 13 name = file + ' ' + str(int(label)) +'\n' 14 listText.write(name) 15 listText.close() 16 print 'down!' 17 print '****************' 18 19 if __name__ == '__main__': 20 generate('/home/ttwang/Desktop/Texture/Test/1',1)