import os
def check_and_clean(image_dir, label_dir):
missing_labels = []
for root, _, files in os.walk(image_dir):
for file in files:
if file.endswith('.png'): # 根据你的图片格式调整
image_path = os.path.join(root, file)
# 生成标签文件路径
file_name_without_ext = os.path.splitext(file)[0]
label_path = os.path.join(label_dir, f"{file_name_without_ext}.txt")
if not os.path.exists(label_path):
missing_labels.append(file)
# 删除没有对应标签的图片
os.remove(image_path)
print(f"Deleted {image_path}")
return missing_labels
# 设置图片和标签目录
image_dir = r'C:\Users\合格的牛马\Desktop\datasets\wangzherongyao\images\val'
label_dir = r'C:\Users\合格的牛马\Desktop\datasets\wangzherongyao\labels\val'
# 检查标签文件并清理图片
missing_labels = check_and_clean(image_dir, label_dir)
# 输出缺少标签的图像文件
if missing_labels:
print('Missing labels for the following images:')
for image in missing_labels:
print(image)
else:
print('All images have corresponding label files.')
数据集清理工具,清理无对应label的图片(也就是没有标注的)
于 2024-07-23 17:45:07 首次发布