生成txt標籤檔案
阿新 • • 發佈:2018-12-03
參考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 具體參考(用到時再細看)