import shutil, os
# import cv2
from pathlib import Path
try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
save_draw_imgDir = r"U:\datas\jyz7class_dev\jyz_tc_bsmin"
Path_dir = r"U:\datas\jyz7class_dev\imagexmls" #xml文件和jpg文件在一个文件夹
os.listdir(Path_dir)
CLASSES=["jyz_tc_bs_min"]#改自己的类别
def GetAnnotBoxLoc():
for parent, dirnames, filenames in os.walk(Path_dir):
for filename in filenames:
if filename.endswith(".xml"):#判断字符串是否以指定的x结尾
filename_qianzhui = Path(filename).stem #排除后缀名的文件或路径名
img_file_path = os.path.join(Path_dir, filename_qianzhui) + ".jpg"
xml_file_path = os.path.join(Path_dir, filename_qianzhui) + ".xml"
copy_file = os.path.join(Path_dir, xml_file_path)
tree = ET.ElementTree(file=copy_file)
root = tree.getroot()
ObjectSet = root.findall('object')
i = 0
for child in ObjectSet:
name = child.find('name').text
# print(child)
if name in CLASSES:
# if child = "jyz_tc_bs_min":
shutil.copy(xml_file_path, save_draw_imgDir)
shutil.copy(img_file_path, save_draw_imgDir)
# os.remove(xml_file_path)
GetAnnotBoxLoc()
python3通过object找出对应的xml文件和jpg
于 2022-04-07 14:09:44 首次发布