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)) +' ' 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)