午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

python代碼xml轉txt實例

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

為了訓練深度學習模型,經常要整理大量的標注數據,需統一不同格式的標注數據,一般情況下習慣讀取TXT格式的數據。但實際中經常遇到XML格式的標注數據,在此舉例:1.讀取XML標注數據;2.寫入TXT文件。

XML標注數據如下

<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*****-藍-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*****-藍-1-黃-雷克薩斯-雷克薩斯(進口)-雷克薩斯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>蘇*****-藍-1-黑-寶馬-寶馬(進口)-寶馬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>蘇*****-藍-1-灰-標致-東風標致-標致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,和每個object的坐標(四個點的坐標)

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.*模塊,文件對象模塊DOM在讀取XML文件時,一次讀取整個文件,將其所有數據保存在一個樹結構中,此時,可利用DOM的各種函數來讀取目標數據。在此,利用xml.dom.minidom解析XML文件。

并將目標數據寫入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] #文檔保存格式:文件名 坐標 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轉txt實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 殴美一级特黄aaaaaa | 四虎成人永久免费视频 | 污片在线免费观看 | 婷婷久草 | 手机免费av | 日本不卡久久 | 夜夜撸网站 | 国产成人a∨| 日本黄色不卡视频 | 日韩综合在线视频 | 97免费在线观看视频 | 日韩av毛片 | 日韩免费在线观看视频 | 中文字幕免费观看视频 | 天天操天天草 | 麻豆视频在线看 | 精品1区2区 | 日韩av一二三 | 成人一区三区 | 色综合五月 | 亚洲国产成人在线观看 | 一道本无吗一区 | 久久精品视频免费 | 污视频在线免费 | 亚洲永久在线 | 黄色片毛片 | 校园春色激情 | 超碰偷拍| 精品国产视频在线观看 | 国产日产精品一区二区三区 | 精品99视频| 三级黄毛片 | www黄色网址 | 超碰伊人久久 | 国产视频一区二区在线观看 | 欧美激情 亚洲 | 综合色婷婷一区二区亚洲欧美国产 | 九一毛片| 亚洲欧洲在线观看 | 亚洲天堂视频在线观看 | 精品国产一区二区三区久久久久久 |