解决yolo算法标签(txt)和图片数量不匹配的问题
import os
import xml.etree.ElementTree as ET
# 图像文件夹和标注文件夹的路径
img_dir = r"D:\Users\ShiCong\Desktop\datsets_plate\dataset_plate\train\images"
txt_dir = r"D:\Users\ShiCong\Desktop\datsets_plate\dataset_plate\train\labels"
# 获取所有图像文件名
img_files = [f for f in os.listdir(img_dir) if f.endswith(".jpg")]
# 获取所有标注文件名
txt_files = [f for f in os.listdir(txt_dir) if f.endswith(".txt")]
img_set = set(img_files)
txt_set = set(txt_files)
print(len(img_set))
print(len(txt_set))
# 标签比图片多运行这个for循环
# for txt_file in txt_files:
# # 解析标注文件以获取图像文件名
# if txt_file.split('.')[0]+'.jpg' not in img_set:
# os.remove(os.path.join(txt_dir, txt_file))
# 图片比标签多,运行这个for循环
for img_file in img_files:
if img_file.split('.')[0]+'.txt' not in txt_set:
os.remove(os.path.join(img_dir, img_file))
print(len(img_set))
print(len(txt_set))