学习笔记一:xml文件的读取操作,

import os
import xml.etree.ElementTree as ET
########   解析xml的基本信息  ##################
import numpy as np

def per_xml(self):
    filename = os.listdir(self.path_dir)
    # step1 解析根路径,获取图片大小信息
    for file in filename:
        tree = ET.parse(file)
        root = tree.getroot()
        bb_box = []
        lable = []
        size_tree = root.find('size')
        width = float(size_tree.find('width').text)
        height =float(size_tree.find('height').text)
   #获取每张图片里的多个对象的信息
        for object_tree in root.findall('object'):
            for box in object_tree.iter("bndbox"):
                xmin = float(box.find('xmin').text)/width #除以宽主要是进行归一化的结果
                ymin = float(box.find('ymin').text)/height
                xmax = float(box.find('xmax').text)/width
                ymax = float(box.find('ymax').text) / height
            bb_box1 = [xmin,ymin,xmax,ymax]
            bb_box.append(bb_box1)
            lable1 = object_tree.find('name').text
            one_hot_lable = self.one_hot(lable1)
            lable.append(one_hot_lable)
    # 获取图片名字,保存bb_box以及类别的one-hot编码信息
    image_name = root.find('filename').text
    bounding_boxes = np.asarray(bb_box)
    one_hot_classes = np.asarray(lable)
    image_data = np.hstack ((bounding_boxes,one_hot_classes))#按照维度拼接
    self.data[ image_name] = image_data

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值