生成txt标签文件

参考1:https://blog.csdn.net/xunan003/article/details/73741797
参考2:https://blog.csdn.net/m0_37477175/article/details/78901938

1、python版

def createFileList(image_path1,image_path2,txt_save_path):
    #打开图片列表清单txt文件
    fw=open(txt_save_path,"w")
    #查看图片目录下的文件,相当于shell下的ls
    image_dir1=os.listdir(image_path1)
    image_dir2=os.listdir(image_path2)
    image_dir={image_dir1,image_dir2}
    for image_name in image_dir:
        for eachname in image_name:
            #正则表达式规则:face跟0到299的数字,并以jpg结尾的图片文件
            parttern_face=r'(^face\d{0,299}.jpg$)'
            parttern_airplane=r'(^airplane\d{0,299}.jpg$)'
            #正则表达式匹配
            face_name=re.search(parttern_face,eachname)
            airplane_name=re.search(parttern_airplane,eachname)
            #按规则将内容写入txt文件中
            if face_name != None:
                fw.write(face_name.group(0)+" 1\n")
            if airplane_name != None:
                fw.write(airplane_name.group(0)+" 0\n")
    print("generate txt file successfully")
    fw.close()
    
image_path_1='/home/xu/caffe/data/mydata/train1/'
image_path_2='/home/xu/caffe/data/mydata/train0/'
txt_save_path='/home/xu/caffe/data/mydata/train_label.txt'
createFileList(image_path_1,image_path_2,txt_save_path)

2、shell版

生成带绝对路径的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.."
# /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 (假设脚本文件名为这个),就行了!
如果不想显示那么多路径,就相应该DATA路径的表示,或者使用cut 具体参考(用到时再细看)

猜你喜欢

转载自blog.csdn.net/qq_18644873/article/details/84639748
今日推荐