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
python transformer category_Python 生成VOC格式的标签实例相关推荐
- 【Python】随机划分数据集并生成VOC格式列表
1.Introduction 做目标检测时,用LabelImg生成的 xml 文件需要和对应的图片文件名,生成VOC格式列表.同时需要按照一定比例划分为训练集.验证集和测试集. 2.Materials ...
- VOC格式xml标签与YOLO格式txt标签相互转换
转自:LabelImg标注的VOC格式xml标签与YOLO格式txt标签相互转换_wangmj_hdu的博客-CSDN博客 1.VOC标签格式说明 VOC数据格式,会直接把每张图片标注的标签信息保存到 ...
- python使用fpdf生成发票格式的pdf文件包含:文字、图片logo、表格、条形码等;
python使用fpdf生成发票格式的pdf文件包含:文字.图片logo.表格.条形码等: pip install fpdf #python使用fpdf生成发票格式的pdf文件包含:文字.图片logo ...
- python实现目标检测voc格式标签数据增强
文章目录 前言 一.显示图片(可关闭) 二.创建图像变换的类 1.增强数据代码 2.图像加噪声 3.调整图像亮度 4.添加黑色像素块 5.旋转图像 6.图像裁剪 7.平移图像 8.图像镜像 9.图像随 ...
- caffe生成voc格式lmdb
要训练ssd基本都是在liu wei框架下改,生成lmdb这一关照葫芦画瓢总遇坑,记录之: 1. labelmap_voc.prototxt要根据自己的分类修改,比如人脸检测改成这样: item {n ...
- easy excel date 类型解析报错_实例1:用Python自动批量生成Excel档物料标签
作为一个生产型企业,其产品种类繁多.按照客户要求,每种产品在出货时都需要在包装上贴上如下信息标签,以便识别. 标签上需要包含6种信息,原始资料内容如下: 我们注意到原始信息中的品牌,有些是大写,有些是 ...
- Visdrone2019数据集.txt标签文件转换为voc格式.XML标签文件
最近有同学问是否有Visdrone数据集的xml文件,由于本人之前训练数据的时候没有保存xml文件,所以无法共享. 为了解决这个问题,重新写了转换代码并贴出,供大家共同学习使用.(文末附上数据下载网盘 ...
- 把LabelImg标注的YOLO格式标签转化为VOC格式标签 和 把VOC格式标签转化为YOLO格式标签
把LabelImg标注的YOLO格式标签转化为VOC格式标签 和 把VOC格式标签转化为YOLO格式标签 文章目录: 1 用LabelImgvoc和yolo标注标签格式说明 1.1 LabelImg标 ...
- 【csv文件转xml文件】Excel表格数据快速批量生成xml格式文件
使用背景: 使用场景举例:数据集标签处理 有时候我们需要将固定格式的Excel表格文件(csv文件)转换为xml文件使用,例如我们在目标检测实验当中我们需要制作数据集Pascal VOC格式的标签文件 ...
最新文章
- 翻页导航条页码计算方法
- 在Java8的foreach()中不能break,如果需要continue时,可以使用return
- 天池在线编程 2020国庆八天乐 - 4. 生成更大的陆地(BFS)
- C语言转义字符介绍和示例
- Facebook开源问答系统DrQA:基于单一信源回答开放域提问
- python有参装饰器详解_Python 带有参数的装饰器实例代码详解
- c# datagridview列形式为Combobox,每行下拉选项不一样
- “跟技术Leader聊了10分钟,我就猜到下周要发生重大宕机事故!”
- WEBOS——第一次感觉云计算离我们如此之今
- C/C++存储区域划分(栈区,堆区,全局区,代码区)
- Hadoop从零开始的搭建(伪分布式)
- 智博联反射波测桩分析软件 V141125专业版
- mysql 百分比两位小数_SQL中如何让百分比后面保留2位小数?
- js-xlsx插件导出的excel头部有一行序号解决办法
- nvidia agx xavier平台imx334 驱动调试记录
- 微信小程序--视频播放器
- 【考研408】计算机与组成原理笔记
- 手机计算机怎么打出无限符号,Win7怎么用搜狗打无限符号|输入法打无限符号方法...
- Is it going on-------------Docker容器的安装以及基本的操作指令
- 加油站APP开发定制功能
热门文章
- t检验特征筛选详解及实战
- 15天Python入门-3-流程控制-选择结构
- PaSS: a sequencing simulator for PacBio sequencing PaSS:用于PacBio测序的测序模拟器
- Type Ⅰ error(false positive) Type Ⅱ error(false negative)
- linux结束打印机进程,Linux系统,如何知道哪个进程在打印log?
- html增加状态信息管理代码,JavaScript+HTML实现学生信息管理系统
- 微信截取菜单栏(不收回)
- 127.0.0.1和0.0.0.0和localhost的区别
- 卷积网络基础知识---Depthwise Convolution Pointwise Convolution Separable Convolution
- 人群密度估计--Spatiotemporal Modeling for Crowd Counting in Videos