当前位置:   article > 正文

实现LabelImg标注的xml文件和文件夹下的图片匹配,删除漏标注的图像_在labelimg中未标注的图片将其删除的程序

在labelimg中未标注的图片将其删除的程序
# coding: utf-8
from PIL import Image
import os
import os.path
import numpy as np
import cv2
import glob
import pandas as pd
import xml.etree.ElementTree as ET
import time

start = time.time()

# 指明被遍历的文件夹
rootdir = r'E:/picture/water/waterDatasets/renameWater'
for parent, dirnames, filenames in os.walk(rootdir):  # 遍历每一张图片
    for filename in filenames:
        # print('parent is :' + parent)
        # print('filename is :' + filename)
        currentPath = os.path.join(parent, filename)
        print('the fulll name of the file is :' + currentPath)

        img = Image.open(currentPath)
        #  print (img.format, img.size, img.mode)
        # img.show()

        path = r'E:/picture/water/waterDatasets/annotations/'
        for xml_file in glob.glob(path + '/*.xml'):
            # 返回解析树
            tree = ET.parse(xml_file)
            # 获取根节点
            root = tree.getroot()
            # print(root)
            # 根据标签名查找root下的所有标签,并获取其值
            # print(imgname)
            # 对所有目标进行解析
            for member in root.findall('object'):
                xmlname = root.find('filename').text
                #savefilename = member.find('name').text

                if xmlname == filename:
                    pic_file_path = os.path.join(path, xmlname)
                    os.remove(pic_file_path)

end = time.time()
print("Execution Time:", end - start)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/586410
推荐阅读
相关标签
  

闽ICP备14008679号