修改xml中的w和h

这篇博客介绍了一个脚本,用于解决图片标注时遇到的宽高为0的问题。作者通过读取图片实际宽高并更新XML文件中的对应值,避免了重新进行图像标注的麻烦。脚本利用Python的`xml.etree.ElementTree`库解析和修改XML,并展示了如何遍历文件夹和操作文件。
摘要由CSDN通过智能技术生成
from xml.etree import ElementTree as ET
import os.path
import cv2 as cv


def chang_w_h(xml_path,img_path):

    for filename in os.listdir(xml_path):
        num = filename[:5]  #获取编号

        img = cv.imread(img_path + num + '.jpg')  
        h,w,d = img.shape  #获取图片的w和h,注意w和h的顺序


        et = ET.parse(xml_path + filename)  # 解析文件
        root = et.getroot()

        # 一层一层获取
        size = root.find('size')
        width = size.find('width')
        height = size.find('height')
        print(width.text,height.text)

        # 修改&保存
        width.text = str(w)
        height.text = str(h)
        
        et.write(xml_path + filename)  # 此处必须加名字,否则会报权限错


if __name__ == '__main__':

    chang_w_h(xml_path='F:\BS_IMAGE\VOC2007_6\VOC2007\Annotations/',img_path='F:\BS_IMAGE\VOC2007_6\VOC2007\JPEGImages/')












给图片打标签遇到了w和h为0的情况,查资料是更改格式或者图片没有统一大小,因为已经标记完了不想重新标记,就写了脚本根据图片自动更改。不得不说,切片真的好用。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值