Python批量修改xml的坐標(biāo)值全部轉(zhuǎn)為整數(shù)的實(shí)例代碼
發(fā)現(xiàn)一個(gè)有意思的現(xiàn)象,labelimg打開圖片和xml標(biāo)簽時(shí)候,看不到標(biāo)注好的框框,仔細(xì)查看了xml文件,沒發(fā)現(xiàn)什么異常,后面試一下,才發(fā)現(xiàn)是不能識(shí)別xml里的坐標(biāo)值有小數(shù)點(diǎn)的情況。只能四舍五入都轉(zhuǎn)成整數(shù)。
如:
<bndbox> <xmin>1404.35</xmin> <ymin>0</ymin> <xmax>1458.56</xmax> <ymax>111.96</ymax> </bndbox>
# *_* coding : UTF-8 *_* # 開發(fā)人員: csu·pan-_-|| # 開發(fā)時(shí)間: 2020/11/25 21:42 # 文件名稱: resize_img_xml.py # 開發(fā)工具: PyCharm # 功能描述: 改變xml文件里的某個(gè)屬性 import os import xml.etree.ElementTree as ET path = r'C:\Users\Administrator\Desktop\JPEGImages' # 包含xml的文件夾路徑 def edit_xml(xml_file): """ 修改xml文件 :param xml_file:xml文件的路徑 :return: """ all_xml_file = os.path.join(path, xml_file) tree = ET.parse(all_xml_file) print(all_xml_file) objs = tree.findall('object') for ix, obj in enumerate(objs): obj_bnd = obj.find('bndbox') obj_xmin = obj_bnd.find('xmin') obj_ymin = obj_bnd.find('ymin') obj_xmax = obj_bnd.find('xmax') obj_ymax = obj_bnd.find('ymax') xmin = float(obj_xmin.text) ymin = float(obj_ymin.text) xmax = float(obj_xmax.text) ymax = float(obj_ymax.text) obj_xmin.text = str(round(xmin)) #四舍五入轉(zhuǎn)為整數(shù) obj_ymin.text = str(round(ymin)) obj_xmax.text = str(round(xmax)) obj_ymax.text = str(round(ymax)) tree.write(all_xml_file, method='xml', encoding='utf-8') # 覆蓋更新xml文件 if __name__ == '__main__': files = os.listdir(path) # 獲取文件名列表 for i, file in enumerate(files): if file.endswith('.xml'): edit_xml(file)
轉(zhuǎn)完之后,標(biāo)簽就可以正??吹搅?/p>
到此這篇關(guān)于Python批量修改xml的坐標(biāo)值全部轉(zhuǎn)為整數(shù)的文章就介紹到這了,更多相關(guān)Python批量修改xml內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python數(shù)據(jù)可視化實(shí)現(xiàn)正態(tài)分布(高斯分布)
這篇文章主要介紹了Python數(shù)據(jù)可視化實(shí)現(xiàn)正態(tài)分布(高斯分布),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Pycharm使用Database?Navigator連接mysql數(shù)據(jù)庫全過程
這篇文章主要介紹了Pycharm使用Database?Navigator連接mysql數(shù)據(jù)庫全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07基于python requests庫中的代理實(shí)例講解
今天小編就為大家分享一篇基于python requests庫中的代理實(shí)例講解,具有很好的參考價(jià)值。希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05詳細(xì)解析Python中__init__()方法的高級(jí)應(yīng)用
這篇文章主要介紹了詳細(xì)解析Python中__init__()方法的高級(jí)應(yīng)用,包括在映射和elif序列等地方的更為復(fù)雜的用法,需要的朋友可以參考下2015-05-05