本文主要是针对大家在转化数据集时,有可能出现一些图片标签转化错误的问题,导致标签和图片数量不对应。
主要是3行,4行,27行,29行
着重说一下第29行,这里是你多的图片或标签的后缀。
import os
import shutil
filePath2 = r'D:\python\project\yolov5-6.1\VOCdevkit\CrowdHuamn\labels\val' # 数量多的
filePath1 = r'D:\python\project\yolov5-6.1\VOCdevkit\CrowdHuamn\images\val' # 数量少的
list1 = os.listdir(filePath1)
file_list1 = [] # annotations中的文件名列表 不带后缀
for i in list1:
file_list1.append(os.path.splitext(i)[0])
# print(file_list1)
list2 = os.listdir(filePath2)
file_list2 = [] # image中的文件名列表 不带后缀
for i in list2:
file_list2.append(os.path.splitext(i)[0])
# print(file_list2)
# 找出没有标注的图片名称列表
# n=0
# for y in file_list1:
# if y in file_list2:
# n = n+1
# print(n)
b = [y for y in file_list2 if y not in file_list1]
# 把这些列表加上扩展名 然后将其删除
# path = r'D:\python\project\yolov5-6.1\VOCdevkit\ksh\JPEGImages' # 标签位置
new = r'D:\python\project\yolov5-6.1\VOCdevkit\ksh\move' # 多出来的图片或标签保存位置
for i in b:
old = os.path.join(filePath2, i+'.txt') # 注意这里修改 文件后缀,
shutil.move(old, new)