遍历 labelme_data 文件夹中的文件
在 labelme_json、labelme_png、labelme_txt、easydata_jpg 四个文件夹中删除没有对应文件名的文件
1.labelme.json 保存标注信息角点坐标,标注类别,图片大小等参数,每个标注图片都有一个对应的json文件
2.labelme.png 用于保存标注图片
3.labelme.data 我将掩码附在了jpg文件上,方便与原图进行对照观察,便于进行对照审查
4.训练需要的labelme.txt文件,存储信息的格式为:【类别】【坐标1】【坐标2】....
仅作为工具使用,自行修改代码
import os
import shutil
'''
遍历 labelme_data 文件夹中的文件
在 labelme_json、labelme_png、labelme_txt、easydata_jpg 四个文件夹中删除没有对应文件名的文件
'''
data_dir = "/home/lxy/Desktop/test/train/labelme/labelme_data"
json_dir = "/home/lxy/Desktop/test/train/labelme/labelme_json"
png_dir = "/home/lxy/Desktop/test/train/labelme/labelme_png"
txt_dir = "/home/lxy/Desktop/test/train/labelme/labelme_txt"
jpg_dir = "/home/lxy/Desktop/test/train/easydata_jpg"
# 获取labelme_data中的所有文件名(不包含后缀名)
data_files = [os.path.splitext(f)[0] for f in os.listdir(data_dir)]
# 遍历labelme_json文件夹中的文件,如果文件名(不包含后缀名)不在data_files中,则删除文件
for filename in os.listdir(json_dir):
if os.path.splitext(filename)[0] not in data_files:
os.remove(os.path.join(json_dir, filename))
print(f"Removed file: {filename} from labelme_json")
# 遍历labelme_png文件夹中的文件,如果文件名(不包含后缀名)不在data_files中,则删除文件
for filename in os.listdir(png_dir):
if os.path.splitext(filename)[0] not in data_files:
os.remove(os.path.join(png_dir, filename))
print(f"Removed file: {filename} from labelme_png")
# 遍历labelme_txt文件夹中的文件,如果文件名(不包含后缀名)不在data_files中,则删除文件
for filename in os.listdir(txt_dir):
if os.path.splitext(filename)[0] not in data_files:
os.remove(os.path.join(txt_dir, filename))
print(f"Removed file: {filename} from labelme_txt")
# 遍历easydata_jpg文件夹中的文件,如果文件名(不包含后缀名)不在data_files中,则删除文件
for filename in os.listdir(jpg_dir):
if os.path.splitext(filename)[0] not in data_files:
os.remove(os.path.join(jpg_dir, filename))
print(f"Removed file: {filename} from easydata_jpg")