利用python和shell脚本生成train.txt的标签文件

时间:2023-03-09 17:01:28
利用python和shell脚本生成train.txt的标签文件

1. 用shell脚本生成带绝对路径的train.txt

例如我要生成如下形式的带标签的文件,如图:(如有两个标签:0 和 1)

利用python和shell脚本生成train.txt的标签文件

利用python和shell脚本生成train.txt的标签文件

shell脚本如下:

这样标签0写入了train.txt

 # /usr/bin/env sh
DATA=/home/ttwang/Desktop/Texture/0
DATASAVE=/home/ttwang/Desktop echo "Create train.txt..." # /usr/bin/env sh
find $DATA -name Grass*.jpg | sed "s/$/ 1/" >>$DATASAVE/train.txt 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和shell脚本生成train.txt的标签文件

python脚本如下:

 import os
def generate(dir,label):
files = os.listdir(dir)
files.sort()
print '****************'
print 'input :',dir
print 'start...'
listText = open(dir+'/'+'list.txt','w')
for file in files:
fileType = os.path.split(file)
if fileType[1] == '.txt':
continue
name = file + ' ' + str(int(label)) +'\n'
listText.write(name)
listText.close()
print 'down!'
print '****************' if __name__ == '__main__':
generate('/home/ttwang/Desktop/Texture/Test/1',1)