问题
有时候下载的数据集,Image和GT在同一个文件夹,如下:
我们需要将其分成Image和GT两个文件夹,便于训练代码对的编写。
方法
我们从图中发现,同一张图的Image和GT后缀不同,在这里:
- xxx.jpg 是Image
- xxx.png 是GT
我们需要编写程序让其自动分开。
import os
from PIL import Image
# 原始数据存放位置
path = "./Imgs/"
path_list = os.listdir(path)
# 提取的图像存放的位置
new = "./PASCAL/"
ext_img = ".jpg"
ext_gt = ".png"
list_name = []
# 取出文件名
for image in path_list:
image_name = image[:-4]
# print(image_name)
if image_name not in list_name:
list_name.append(image_name)
print(list_name)
# 将文件分开到两个文件夹下
for i in list_name:
path_ori_image = i + ext_img
path_gt_image = i + ext_gt
print(path_ori_image)
print(path_gt_image)
image = Image.open(path + path_ori_image)
gt = Image.open(path + path_gt_image)
image.save(new + "images/" + path_ori_image)
gt.save(new + "GT/" + path_gt_image)