Python 生成VOC格式的標(biāo)簽實(shí)例
常用目標(biāo)檢測(cè)模型基本都是讀取的PASCAL VOC格式的標(biāo)簽,下面代碼用于生成VOC格式的代碼,根據(jù)需要修改即可:
from lxml import etree, objectify
def gen_txt(filename, h, w, c):
E = objectify.ElementMaker(annotate=False)
anno_tree = E.annotation(
E.folder('VOC_OPEN_IMAGE'),
E.filename(filename),
E.source(
E.database('The VOC2007 Database'),
E.annotation('PASCAL VOC2007'),
E.image('flickr'),
E.flickrid("341012865")
),
E.size(
E.width(w),
E.height(h),
E.depth(c)
),
E.segmented(0),
E.object(
E.name('1'),
E.pose('left'),
E.truncated('1'),
E.difficult('0'),
E.bndbox(
E.xmin('0'),
E.ymin('0'),
E.xmax('0'),
E.ymax('0')
)
),
)
etree.ElementTree(anno_tree).write('ann/'+filename[:-4]+".xml", pretty_print=True)
補(bǔ)充知識(shí): python對(duì)PASCAL VOC標(biāo)注數(shù)據(jù)進(jìn)行統(tǒng)計(jì)
用于統(tǒng)計(jì)訓(xùn)練數(shù)據(jù)中的類別,以及所有目標(biāo)的個(gè)數(shù):
# coding:utf-8
import xml.etree.cElementTree as ET
import os
from collections import Counter
import shutil
# Counter({'towCounter({'tower': 3074, 'windpower': 2014, 'thermalpower': 689, 'hydropower': 261, 'transformer': 225})
# total_num: 6263
def count(pathdir,despath):
category = []
path = pathdir + '/XML/'
for index,xml in enumerate(os.listdir(path)):
# print(str(index) + ' xml: '+ xml)
root = ET.parse(os.path.join(path, xml))
objects = root.findall('object')
# ==================select images which has a special object=============
for obj in objects:
obj_label = obj.find('name').text
if obj_label == 'transformer':
print(xml)
imgfile = pathdir + 'JPEG/' + xml.replace('xml', 'jpg')
img_despath = despath + xml.replace('xml', 'jpg')
# if not os.path.exists(img_despath):
shutil.copyfile(imgfile, img_despath)
# ==================select images which has a special object=============
category += [ob.find('name').text for ob in objects]
print(Counter(category))
total_num = sum([value for key, value in Counter(category).items()])
print('total_num:',total_num)
if __name__ == '__main__':
# pathdirs = list(set(os.listdir('./')) ^ set(['tools','count.py']))
# print(pathdirs)
# for pathdir in pathdirs:
pathdir = '/summer/Desktop/power_traindata/'
despath = '/transformer/'
count(pathdir,despath)
以上這篇Python 生成VOC格式的標(biāo)簽實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python爬蟲之異常捕獲及標(biāo)簽過濾詳解
- python 如何獲取頁(yè)面所有a標(biāo)簽下href的值
- Python深度學(xué)習(xí)之圖像標(biāo)簽標(biāo)注軟件labelme詳解
- python中Tkinter實(shí)現(xiàn)分頁(yè)標(biāo)簽的示例代碼
- Python 實(shí)現(xiàn)自動(dòng)完成A4標(biāo)簽排版打印功能
- Python氣泡提示與標(biāo)簽的實(shí)現(xiàn)
- 基于python3生成標(biāo)簽云代碼解析
- python 實(shí)現(xiàn)添加標(biāo)簽&打標(biāo)簽的操作
相關(guān)文章
Python將內(nèi)容進(jìn)行base64編碼與解碼實(shí)現(xiàn)
本文主要介紹了Python將內(nèi)容進(jìn)行base64編碼與解碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Python基礎(chǔ)之tkinter圖形化界面學(xué)習(xí)
這篇文章主要介紹了Python基礎(chǔ)之tkinter圖形化界面學(xué)習(xí),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04
python轉(zhuǎn)化excel數(shù)字日期為標(biāo)準(zhǔn)日期操作
這篇文章主要介紹了python轉(zhuǎn)化excel數(shù)字日期為標(biāo)準(zhǔn)日期操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-07-07
Python 實(shí)現(xiàn)使用dict 創(chuàng)建二維數(shù)據(jù)、DataFrame
下面小編就為大家分享一篇Python 實(shí)現(xiàn)使用dict 創(chuàng)建二維數(shù)據(jù)、DataFrame,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-04-04

