import shutil
import os
#input file path
input_file_path = 'E:/AI/安全帽检测/helmet_work_clothes/helmet'
#output file path
output_file_path = 'E:/AI/安全帽检测/helmet_work_clothes/all/'
file_list = os.listdir(input_file_path)
#annotations 文件夹的生成
for files in file_list:
annotations_path = os.path.join(input_file_path,files)
# print(annotations_path)
annotations_path = os.path.join(annotations_path, 'Annotations')
annotations_list_ann = os.listdir(annotations_path)
# print(annotations_list_ann)
for file in annotations_list_ann:
filename1 = os.path.splitext(file)[1] # 读取文件后缀名
filename0 = os.path.splitext(file)[0] # 读取文件名
# print(filename1)
m = filename1 == '.xml'
# print(m)
if m:
full_path = os.path.join(annotations_path, file)
ann_output_path = os.path.join(output_file_path, 'Annotations')
try:
os.mkdir(ann_output_path)
except:
pass
despath = ann_output_path + '/'+ filename0 + '.xml' # .jpg为你的文件类型,即后缀名,读者自行修改
shutil.copy(full_path, despath)
else:
continue
print('Annotations 生成完毕')
# annotations 文件夹的生成
for files in file_list:
annotations_path = os.path.join(input_file_path,files)
# print(annotations_path)
annotations_path = os.path.join(annotations_path, 'JPEGImages')
annotations_list_ann = os.listdir(annotations_path)
# print(annotations_list_ann)
for file in annotations_list_ann:
filename1 = os.path.splitext(file)[1] # 读取文件后缀名
filename0 = os.path.splitext(file)[0] # 读取文件名
# print(filename1)
m = filename1 == '.jpg'
# print(m)
if m:
full_path = os.path.join(annotations_path, file)
ann_output_path = os.path.join(output_file_path, 'JPEGImages')
try:
os.mkdir(ann_output_path)
except:
pass
despath = ann_output_path + '/'+ filename0 + '.jpg' # .jpg为你的文件类型,即后缀名,读者自行修改
shutil.copy(full_path, despath)
else:
continue
print('JPEGImages 生成完毕')
# ImageSets 文件夹的生成
for files in file_list:
sets_path = os.path.join(input_file_path,files)
# print(sets_path)
# print(annotations_path)
sets_path = os.path.join(sets_path, 'ImageSets')
ImageSets_path = os.path.join(sets_path, 'Main')
image_output_path = os.path.join(output_file_path, 'ImageSets')
try:
os.mkdir(image_output_path)
except:
pass
txt_list = os.listdir(ImageSets_path)
main_output_path = os.path.join(image_output_path, 'Main')
try:
os.mkdir(main_output_path)
except:
pass
for file in txt_list:
train_path = os.path.join(ImageSets_path, file)
save_path = os.path.join(main_output_path, file)
with open(train_path,'r') as tf:
for line in tf:
with open(save_path,'a') as fw:
fw.write(line)
print('ImageSets 生成完毕')