失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python读xml文件生成头文件_python如何读取生成voc xml格式标注信息

python读xml文件生成头文件_python如何读取生成voc xml格式标注信息

时间:2018-10-17 14:13:39

相关推荐

python读xml文件生成头文件_python如何读取生成voc xml格式标注信息

python生成voc xml文件

from lxml import etree

class GEN_Annotations:

def __init__(self, filename):

self.root = etree.Element("annotation")

child1 = etree.SubElement(self.root, "folder")

child1.text = "VOC"

child2 = etree.SubElement(self.root, "filename")

child2.text = filename

child3 = etree.SubElement(self.root, "source")

child4 = etree.SubElement(child3, "annotation")

child4.text = "PASCAL VOC"

child5 = etree.SubElement(child3, "database")

child5.text = "Unknown"

child6 = etree.SubElement(child3, "image")

child6.text = "flickr"

child7 = etree.SubElement(child3, "flickrid")

child7.text = "35435"

def set_size(self,witdh,height,channel):

size = etree.SubElement(self.root, "size")

widthn = etree.SubElement(size, "width")

widthn.text = str(witdh)

heightn = etree.SubElement(size, "height")

heightn.text = str(height)

channeln = etree.SubElement(size, "depth")

channeln.text = str(channel)

def savefile(self,filename):

tree = etree.ElementTree(self.root)

tree.write(filename, pretty_print=True, xml_declaration=False, encoding='utf-8')

def add_pic_attr(self,label,xmin,ymin,xmax,ymax):

object = etree.SubElement(self.root, "object")

namen = etree.SubElement(object, "name")

namen.text = label

bndbox = etree.SubElement(object, "bndbox")

xminn = etree.SubElement(bndbox, "xmin")

xminn.text = str(xmin)

yminn = etree.SubElement(bndbox, "ymin")

yminn.text = str(ymin)

xmaxn = etree.SubElement(bndbox, "xmax")

xmaxn.text = str(xmax)

ymaxn = etree.SubElement(bndbox, "ymax")

ymaxn.text = str(ymax)

if __name__ == '__main__':

filename="000001.jpg"

anno= GEN_Annotations(filename)

anno.set_size(1280,720,3)

for i in range(3):

xmin=i+1

ymin=i+10

xmax=i+100

ymax=i+100

anno.add_pic_attr("mouse",xmin,ymin,xmax,ymax)

anno.savefile("00001.xml")

python读取voc xml文件

try:

import xml.etree.cElementTree as ET

except ImportError:

import xml.etree.ElementTree as ET

def GetAnnotBoxLoc(AnotPath):

tree = ET.ElementTree(file=AnotPath)

root = tree.getroot()

ObjectSet=root.findall('object')

ObjBndBoxSet={}

for Object in ObjectSet:

ObjName=Object.find('name').text

BndBox=Object.find('bndbox')

x1 = int(BndBox.find('xmin').text)

y1 = int(BndBox.find('ymin').text)

x2 = int(BndBox.find('xmax').text)

y2 = int(BndBox.find('ymax').text)

如果觉得《python读xml文件生成头文件_python如何读取生成voc xml格式标注信息》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。