使用labelimg给图片集标注,标注后发现图片文件夹内的图片数量和标签文件夹里面的标签文件数量不同,由于数量太多难以找出哪些差别,可以使用python脚本进行图片文件夹和标签文件夹两个文件夹的对比,将它们下有差别的文件名列出来。
以下是源码。
# 图片文件夹和标签文件夹对比
# -*- coding: utf-8 -*-
import os
# path1和path2分别列出两个文件夹路径,自己根据情况更换
path1 = r'C:\pyworkplace\VOCdevkit\VOC2007\JPEGImages'
path2 = r'C:\pyworkplace\VOCdevkit\VOC2007\Annotations'
def file_name(image_dir,xml_dir):
jpg_list = []
xml_list = []
for root, dirs, files in os.walk(image_dir):
for file in files:
jpg_list.append(os.path.splitext(file)[0])
for root, dirs, files in os.walk(xml_dir):
for file in files:
xml_list.append(os.path.splitext(file)[0])
print(len(jpg_list))
diff = set(xml_list).difference(set(jpg_list)) # 差集,在a中但不在b中的元素
for name in diff:
print("no jpg", name + ".xml")
diff2 = set(jpg_list).difference(set(xml_list)) # 差集,在b中但不在a中的元素
print(len(diff2))
for name in diff2:
print("no xml", name + ".jpg")
if __name__ == '__main__':
file_name(path1,path2)