python transformer category_Python 生成VOC格式的标签实例

常用目标检测模型基本都是读取的PASCAL VOC格式的标签,下面代码用于生成VOC格式的代码,根据需要修改即可:

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)

补充知识: python对PASCAL VOC标注数据进行统计

用于统计训练数据中的类别,以及所有目标的个数:

# 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格式的标签实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: Python 生成VOC格式的标签实例

本文地址: http://www.cppcns.com/jiaoben/python/302590.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 JavaScript 编写的记忆游戏(附源代码)   项目:JavaScript 记忆游戏(附源代码) 记忆检查游戏是一个使用 HTML5、CSS 和 JavaScript 开发的简单项目。这个游戏是关于测试你的短期 记忆技能。玩这个游戏 时,一系列图像会出现在一个盒子形状的区域中 。玩家必须找到两个相同的图像并单击它们以使它们消失。 如何运行游戏? 记忆游戏项目仅包含 HTML、CSS 和 JavaScript。谈到此游戏的功能,用户必须单击两个相同的图像才能使它们消失。 点击卡片或按下键盘键,通过 2 乘 2 旋转来重建鸟儿对,并发现隐藏在下面的图像! 如果翻开的牌面相同(一对),您就赢了,并且该对牌将从游戏中消失! 否则,卡片会自动翻面朝下,您需要重新尝试! 该游戏包含大量的 javascript 以确保游戏正常运行。 如何运行该项目? 要运行此游戏,您不需要任何类型的本地服务器,但需要浏览器。我们建议您使用现代浏览器,如 Google Chrome 和 Mozilla Firefox, 以获得更好、更优化的游戏体验。要玩游戏,首先,通过单击 memorygame-index.html 文件在浏览器中打开游戏。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值