分类图片,输出txt文件
功能:
将某个文件夹下,已经分类的图片,输出到txt文件中,txt中包含图片的路径,图片的类别。
注意:目前仅支持单个类别。也就是一个图片只有一个类别。
代码:
import pickle as p
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as plimg
from PIL import Image
import os
args={"train_test_val_dir": os.getcwd()+'/train/',
"output_fname": "./txt/train.txt",
"delimiter":" ",
"no_label":False
}
if __name__ == "__main__":
if args["no_label"]==False:
pathes=os.listdir(args["train_test_val_dir"])
f = open(args["output_fname"], "w")
for cls in pathes:##imgX.shape的第一个维度是batch
fnames=os.listdir(args["train_test_val_dir"]+cls)
for i in fnames:
path=args["train_test_val_dir"]+cls+"/"+i
print(cls,i,":",path+","+cls)
f.write(path+args["delimiter"]+cls+"\n")
f.close()
print ("保存完毕.")
else:
imgs=os.listdir(args["train_test_val_dir"])
f = open(args["output_fname"], "w")
for i in imgs:##imgX.shape的第一个维度是batch
path=args["train_test_val_dir"]+i
print(path)
f.write(path+" "+"\n")
f.close()
print ("保存完毕.")