亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python代碼xml轉(zhuǎn)txt實(shí)例

瀏覽:31日期:2022-08-03 08:54:48

為了訓(xùn)練深度學(xué)習(xí)模型,經(jīng)常要整理大量的標(biāo)注數(shù)據(jù),需統(tǒng)一不同格式的標(biāo)注數(shù)據(jù),一般情況下習(xí)慣讀取TXT格式的數(shù)據(jù)。但實(shí)際中經(jīng)常遇到XML格式的標(biāo)注數(shù)據(jù),在此舉例:1.讀取XML標(biāo)注數(shù)據(jù);2.寫(xiě)入TXT文件。

XML標(biāo)注數(shù)據(jù)如下

<annotation verified='no'> <folder>suE</folder> <filename>Drivingrecord_001</filename> <path>C:DesktopDrivingrecord_001.jpg</path> <source> <database>Unknown</database> </source> <size> <width>1920</width> <height>1080</height> <depth>3</depth> </size> <segmented>0</segmented> <object> <name>蘇E*****-藍(lán)-1-白,灰-大眾-上海大眾-桑塔納-尚納</name> <flag>polygon</flag> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <bndbox> <leftTopx>170</leftTopx> <leftTopy>704</leftTopy> <rightTopx>167</rightTopx> <rightTopy>729</rightTopy> <rightBottomx>242</rightBottomx> <rightBottomy>735</rightBottomy> <leftBottomx>243</leftBottomx> <leftBottomy>710</leftBottomy> </bndbox> </object> <object> <name>蘇E*****-藍(lán)-1-黃-雷克薩斯-雷克薩斯(進(jìn)口)-雷克薩斯RX</name> <flag>polygon</flag> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <bndbox> <leftTopx>733</leftTopx> <leftTopy>721</leftTopy> <rightTopx>733</rightTopx> <rightTopy>759</rightTopy> <rightBottomx>881</rightBottomx> <rightBottomy>760</rightBottomy> <leftBottomx>882</leftBottomx> <leftBottomy>722</leftBottomy> </bndbox> </object> <object> <name>蘇*****-藍(lán)-1-黑-寶馬-寶馬(進(jìn)口)-寶馬7系</name> <flag>polygon</flag> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <bndbox> <leftTopx>1274</leftTopx>

<leftTopy>657</leftTopy> <rightTopx>1274</rightTopx> <rightTopy>671</rightTopy> <rightBottomx>1325</rightBottomx> <rightBottomy>670</rightBottomy> <leftBottomx>1326</leftBottomx> <leftBottomy>656</leftBottomy> </bndbox> </object> <object> <name>蘇*****-藍(lán)-1-灰-標(biāo)致-東風(fēng)標(biāo)致-標(biāo)致307</name> <flag>polygon</flag> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <bndbox> <leftTopx>1609</leftTopx> <leftTopy>658</leftTopy> <rightTopx>1611</rightTopx> <rightTopy>671</rightTopy> <rightBottomx>1659</rightBottomx> <rightBottomy>669</rightBottomy> <leftBottomx>1657</leftBottomx> <leftBottomy>656</leftBottomy> </bndbox> </object> </annotation>

在此,我們只需要圖片名filename,和每個(gè)object的坐標(biāo)(四個(gè)點(diǎn)的坐標(biāo))

Drivingrecord_001.jpg 170 704 167 729 242 735 243 710 733 721 733 759 881 760 882 722 1274 657 1274 671 1325 670 1326 656 1609 658 1611 671 1659 669 1657 656

利用xml.dom.*模塊,文件對(duì)象模塊DOM在讀取XML文件時(shí),一次讀取整個(gè)文件,將其所有數(shù)據(jù)保存在一個(gè)樹(shù)結(jié)構(gòu)中,此時(shí),可利用DOM的各種函數(shù)來(lái)讀取目標(biāo)數(shù)據(jù)。在此,利用xml.dom.minidom解析XML文件。

并將目標(biāo)數(shù)據(jù)寫(xiě)入TXT文檔。

# -*- coding: utf-8 -*- ''' Created on Fri Mar 2 15:36:44 2018 @author: gg ''' import xml.dom.minidom import os save_dir = ’D:plate_train’ if not os.path.exists(save_dir): os.mkdir(save_dir) f = open(os.path.join(save_dir, ’landmark.txt’), ’w’) DOMTree = xml.dom.minidom.parse(’D:plate_trainlabelDrivingrecord_001.xml’) annotation = DOMTree.documentElement filename = annotation.getElementsByTagName('filename')[0] imgname = filename.childNodes[0].data+’.jpg’ print(imgname) objects = annotation.getElementsByTagName('object') loc = [imgname] #文檔保存格式:文件名 坐標(biāo) for object in objects: bbox = object.getElementsByTagName('bndbox')[0] leftTopx = bbox.getElementsByTagName('leftTopx')[0] lefttopx = leftTopx.childNodes[0].data print(lefttopx) leftTopy = bbox.getElementsByTagName('leftTopy')[0] lefttopy = leftTopy.childNodes[0].data print(lefttopy) rightTopx = bbox.getElementsByTagName('rightTopx')[0] righttopx = rightTopx.childNodes[0].data print(righttopx) rightTopy = bbox.getElementsByTagName('rightTopy')[0] righttopy = rightTopy.childNodes[0].data print(righttopy) rightBottomx = bbox.getElementsByTagName('rightBottomx')[0] rightbottomx = rightBottomx.childNodes[0].data print(rightbottomx) rightBottomy = bbox.getElementsByTagName('rightBottomy')[0] rightbottomy = rightBottomy.childNodes[0].data print(rightbottomy) leftBottomx = bbox.getElementsByTagName('leftBottomx')[0] leftbottomx = leftBottomx.childNodes[0].data print(leftbottomx) leftBottomy = bbox.getElementsByTagName('leftBottomy')[0] leftbottomy = leftBottomy.childNodes[0].data print(leftbottomy) loc = loc + [lefttopx, lefttopy, righttopx, righttopy, rightbottomx, rightbottomy, leftbottomx, leftbottomy] for i in range(len(loc)): f.write(str(loc[i])+’ ’) f.write(’tn’) f.close()

以上這篇python代碼xml轉(zhuǎn)txt實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产亚洲精品一区二区在线播放 | 韩国一级做a爱性色毛片 | 12306播播影视播播影院午夜 | 日韩视频高清免费看 | 东京不太热在线新视频 | 国产精品一区视频 | 91青青草视频在线观看 | 日本在线网站 | 黄色a一片| 香蕉视频大全 | 伊人精品线视天天综合 | 国产欧美久久精品 | 99re热视频这里只有精品5 | 手机看片精品高清国产日韩 | 妖精永久免费观看 | 久久久久久久国产视频 | 男生福利网站 | 免费观看欧美一级特黄 | 欧美日韩一本大道香蕉欧美 | 免费人成黄页网站在线观看国产 | 一区二区视频在线观看 | aa级毛片 | 131美女爱做免费高清视频 | 黄色在线视频在线观看 | 一级欧美日韩 | 日本精品久久久免费高清 | 国产91久久最新观看地址 | 免费看a级黄色片 | 亚洲一区二区中文 | 黄录像欧美片在线观看 | 欧美三级视频 | 真人毛片免费观看视频 | 看美女黄色片 | 欧美成综合网网站 | 欧美精品中出 | 99久久伊人一区二区yy5o99 | 亚洲专区一区 | 国产精品亚洲第一区在线28石 | 青青国产成人久久91网 | 欧美啪啪网站 | 国产精品视频1区 |