用于检查labelme训练数据集时,将错误mask相关图片信息全部删除

遍历 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")

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值