import glob
import os
import cv2
#数据清洗
def generate_list(img_path,lab_path,file_list):
write_list = []
img_list = glob.glob(os.path.join(img_path , "*jpg"))
#lab_list = glob.glob(os.path.join(lab_path, "*png"))
print(img_list)
for i in img_list:
#数据检查,一一对应
#img = cv2.imread(i)
#i.replace(img_path,lab_path)
lab_p = i.replace(img_path,lab_path)
#img = cv2.imread(img_p,0)
#print(img)
#print(img_p)
#形成列表
write_list.append(i + " " + lab_p)
print(write_list)
with open(file_list, "w") as f:
for i in write_list:
changetype = i.rsplit('.',1)[0]
changetype += '.png'
f.write(changetype.replace('E:\\NEt\\PaddleSeg-release-2.6\\data\\buildings\\',"").replace('\\','/') + '\n')
if __name__ =="__main__":
img_path = r'E:\NEt\PaddleSeg-release-2.6\data\buildings\JPEGImages' #图像目录
lab_path = r'E:\NEt\PaddleSeg-release-2.6\data\buildings\Annotations' #标签目录
file_list = r'E:\NEt\PaddleSeg-release-2.6\data\buildings\train.txt' #txt文件
generate_list(img_path,lab_path,file_list)
两种标签文件均可用 ,换路径时需要按照split中改写
绝对路径亲测可用,代码还待完善,需手动划分测试集和验证集