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}")
Python数据集处理——修改图片大小并同时修改对应的xml文件
最新推荐文章于 2024-05-30 18:05:01 发布