色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

python代碼xml轉txt實例

瀏覽:36日期: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 編程
相關文章:
主站蜘蛛池模板: 久久久久久免费精品视频 | 免费毛片a线观看 | 手机看片日韩日韩 | 日本一视频一区视频二区 | 亚洲欧洲日本天天堂在线观看 | 成人a视频片在线观看免费 成人a视频在线观看 | 亚洲成a人片在线观看 欧美 | 男人的天堂精品国产一区 | 免费一级毛片私人影院a行 免费一级毛片无毒不卡 | 国产情侣久久 | 啪啪自拍 | 日韩欧免费一区二区三区 | 亚洲加勒比 | 手机精品在线 | 宫女淫春 | 日本在线亚州精品视频在线 | 欧美激情视频在线观看一区二区三区 | 一本色道久久综合亚洲精品加 | 精品一区二区三区免费毛片爱 | 日韩欧美一区二区在线观看 | 国产成人亚洲精品无广告 | 人久热欧美在线观看量量 | 暖暖免费高清日本一区二区三区 | 国产三级欧美 | 亚洲精品日韩中文字幕久久久 | 视频二区精品中文字幕 | 久草视频免费在线观看 | 黄色三级网络 | 亚洲欧洲无码一区二区三区 | 国产精品欧美亚洲韩国日本不卡 | 国产精品一区在线免费观看 | 91亚洲欧美 | 成人高清在线观看 | 欧美一级精品 | 久久亚洲综合中文字幕 | 综合在线亚洲 | 男人干女人的视频 | 美女视频黄的免费视频网页 | 亚洲精品一区 | 亚洲精品国产一区二区三区在 | 91国内精品久久久久影院优播 |