Python数据集处理——修改图片大小并同时修改对应的xml文件
【代码】Python数据集处理——修改图片大小并同时修改对应的xml文件。
·
import os
from PIL import Image
import xml.etree.ElementTree as ET
# 输入文件夹路径,包含jpg图片和对应的xml文件
image_folder = "D:\\desktop\\1"
xml_folder = "D:\\desktop\\2"
# 输出文件夹路径,保存修改后的图片和xml文件
output_image_folder = "D:\\desktop\\1\\1"
output_xml_folder = "D:\\desktop\\2\\2"
# 创建输出文件夹
if not os.path.exists(output_image_folder):
os.makedirs(output_image_folder)
if not os.path.exists(output_xml_folder):
os.makedirs(output_xml_folder)
# 修改图片大小并同步修改对应的xml文件
for image_filename in os.listdir(image_folder):
if image_filename.endswith(".jpg"):
image_path = os.path.join(image_folder, image_filename)
xml_filename = os.path.splitext(image_filename)[0] + ".xml"
xml_path = os.path.join(xml_folder, xml_filename)
if os.path.exists(xml_path):
# 修改图片大小
image = Image.open(image_path)
new_image = image.resize((640, 640)) # 设置新的宽度和高度
output_image_path = os.path.join(output_image_folder, image_filename)
new_image.save(output_image_path)
# 修改xml文件
tree = ET.parse(xml_path)
root = tree.getroot()
width = root.find("size/width")
height = root.find("size/height")
width.text = str(640) # 更新宽度
height.text = str(640) # 更新高度
output_xml_path = os.path.join(output_xml_folder, xml_filename)
tree.write(output_xml_path)
print(f"Processed: {image_filename}")
else:
print(f"XML not found for {image_filename}")

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)