Python生成PASCAL VOC格式的xml标注文件
来源:互联网 发布:擎洲广达计价软件 编辑:程序博客网 时间:2024/05/16 10:50
PASCAL VOC数据集的标注文件是xml格式的。对于py-faster-rcnn,通常以下示例的字段是合适的:
<annotation> <folder>GTSDB</folder> <filename>000001.jpg</filename> <size> <width>500</width> <height>375</height> <depth>3</depth> </size> <object> <name>mouse</name> <difficult>0</difficult> <bndbox> <xmin>99</xmin> <ymin>358</ymin> <xmax>135</xmax> <ymax>375</ymax> </bndbox> </object></annotation>
怎样从csv
或者txt
格式的文件,读取bbox信息,生成xml格式的annotation文件呢?直接逐行写文件肯定可以,但是以后改起来并不太方便,\t
和空格的替换也不太方便。
xml.etree.ElementTree
这个包似乎挺好用的,解析和生成xml都可以。但是会产生<?xml version="1.0" ?>
这样一行头部版本信息。我们不需要这个信息。使用lxml
包替代xml
,可以去掉它。
下面给出了一个例子。
安装依赖项
sudo pip install lxml
生成xml示例代码
#!/usr/bin/env python# coding:utf-8#from xml.etree.ElementTree import Element, SubElement, tostringfrom lxml.etree import Element, SubElement, tostringimport pprintfrom xml.dom.minidom import parseStringnode_root = Element('annotation')node_folder = SubElement(node_root, 'folder')node_folder.text = 'GTSDB'node_filename = SubElement(node_root, 'filename')node_filename.text = '000001.jpg'node_size = SubElement(node_root, 'size')node_width = SubElement(node_size, 'width')node_width.text = '500'node_height = SubElement(node_size, 'height')node_height.text = '375'node_depth = SubElement(node_size, 'depth')node_depth.text = '3'node_object = SubElement(node_root, 'object')node_name = SubElement(node_object, 'name')node_name.text = 'mouse'node_difficult = SubElement(node_object, 'difficult')node_difficult.text = '0'node_bndbox = SubElement(node_object, 'bndbox')node_xmin = SubElement(node_bndbox, 'xmin')node_xmin.text = '99'node_ymin = SubElement(node_bndbox, 'ymin')node_ymin.text = '358'node_xmax = SubElement(node_bndbox, 'xmax')node_xmax.text = '135'node_ymax = SubElement(node_bndbox, 'ymax')node_ymax.text = '375'xml = tostring(node_root, pretty_print=True) #格式化显示,该换行的换行dom = parseString(xml)print xml
阅读全文
0 0
- Python生成PASCAL VOC格式的xml标注文件
- Python生成PASCAL VOC格式的xml标注文件
- Python生成PASCAL VOC格式的xml标注文件
- ImageNet和PASCAL VOC图像描述的xml文件的解析、修改和生成
- python 处理pascal voc数据 读取xml文件
- 读取INRIA 说明文件 生成 voc xml python 版本
- VOC框图工具,自动生成需要的XML格式
- PASCAL Annotation转换为VOC xml格式数据
- VOC-xml标注文件制作及其交互使用(修改,预览,存储)的MATLAB实现
- PASCAL VOC 数据集格式
- MRLabeler:一款先进的VOC格式标注工具
- RCNN系列实验的PASCAL VOC数据集格式设置
- RCNN系列实验的PASCAL VOC数据集格式设置
- RCNN系列实验的PASCAL VOC数据集格式设置
- 将wierface标注转换为VOC格式
- 通过固定格式的DataFrame来创建VOC格式XML
- 将fddb标注转换为VOC格式标注
- 深度学习python之制作VOC数据集中的xml文件(Annotations文件夹内)
- Java Thread线程基础总结
- 说说ES6 Class里面的this对象
- Alpha,Beta,RC,GA版本解释
- 丢棋子问题
- oracle下mybatis批量下载的问题
- Python生成PASCAL VOC格式的xml标注文件
- Android用标注管理数据库的简单示例
- .net总结(二)
- Improving Linux kernel networking performance 笔记
- Android 开发之漫漫长途 Ⅲ—Activity 的显示之 Window和View(2)
- HTTP(三)
- expected unqualified-id before '(' token
- spring boot ActiveMQ学习
- 事件监听