VOC标签转化为YOLO标签
参考darknet自带的voc_label.py
import xml.etree.ElementTree as ET import pickle import os from os import listdir, getcwd from os.path import joinclasses = ["dog", "cat"]def convert(size, box):dw = 1./(size[0])dh = 1./(size[1])x = (box[0] + box[1])/2.0 - 1y = (box[2] + box[3])/2.0 - 1w = box[1] - box[0]h = box[3] - box[2]x = x*dww = w*dwy = y*dhh = h*dhreturn (x,y,w,h)def convert_annotation(rootpath,xmlname):xmlpath = rootpath + '/labels'xmlfile = os.path.join(xmlpath,xmlname)with open(xmlfile, "r") as in_file:txtname = xmlname[:-4]+'.txt'txtpath = rootpath + '/labelYOLOs'if not os.path.exists(txtpath):os.makedirs(txtpath)txtfile = os.path.join(txtpath,txtname)with open(txtfile, "w+") as out_file:tree=ET.parse(in_file)root = tree.getroot()size = root.find('size')w = int(size.find('width').text)h = int(size.find('height').text)out_file.truncate()for obj in root.iter('object'):difficult = obj.find('difficult').textcls = obj.find('name').textif cls not in classes or int(difficult)==1:continuecls_id = classes.index(cls)xmlbox = obj.find('bndbox')b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text), float(xmlbox.find('ymax').text))bb = convert((w,h), b)out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')if __name__ == "__main__":rootpath='/home/aimhabo/YOLOv3SMP/data'xmlpath=rootpath+'/labels'list=os.listdir(xmlpath)for i in range(0,len(list)) :path = os.path.join(xmlpath,list[i])if ('.xml' in path)or('.XML' in path):convert_annotation(rootpath,list[i])print('done', i)else:print('not xml file',i)
转载于:https://www.cnblogs.com/aimhabo/p/8949837.html
VOC标签转化为YOLO标签相关推荐
- 把LabelImg标注的YOLO格式标签转化为VOC格式标签 和 把VOC格式标签转化为YOLO格式标签
把LabelImg标注的YOLO格式标签转化为VOC格式标签 和 把VOC格式标签转化为YOLO格式标签 文章目录: 1 用LabelImgvoc和yolo标注标签格式说明 1.1 LabelImg标 ...
- 目标检测: Camvid 语义标签转化为bbox标签
前言 CamVid 数据集是由剑桥大学公开发布的城市道路场景的数据集,它包括 701 张精准标注的图片用于语义分割,如果要使用CamVid数据集做目标检测,就需要bbox标签,本文提供了根据 CamV ...
- 把 html标签转化为 html标签代码
HttpUtility.HtmlEncode(table.Rows[0]["footnote"].ToString()); 转载于:https://www.cnblogs.com/ ...
- 深度学习|dota格式的txt文件转化为yolo格式的txt文件
最近打比赛用到的SAR舰船目标检测集,赛方给出的是dota格式的标签文件,如图: 上图中前8个数据代表真实框四个点的坐标(以左上角坐标顺时针旋转),ship是DOTA数据集的分类,最后的0表示识别难易 ...
- json标签批量转为xml标签(VOC数据集制作)
github链接,里面有我最近写的一些标签的转换脚本 这是一份将json格式的数据集标签转为xml类型标签的脚本,供大家参考 先说下我的应用场景:天池街景识别提供的json文件,用于制作VOC格式数据 ...
- 数字标签转化为one-hot形式的tensor
刚刚入tensorflow的大坑,根据自己的理解今天来记录一下如何将数字标签转化为one-hot形式.有错误的请谅解哈哈哈 what is form of one-hot ?即用包含0和1的tenso ...
- tensorflow--之将数字标签转化为one-hot
如果要用到soft_max函数,就必须将数字标签转化为one-hot,之前用caffe是自动转, 这回使用tensoflow是的自己转: 例子代码如下: import numpy as np labe ...
- R语言ggplot2可视化为轴标签添加下标实战:符号下标、百分比下标、带括号的下标
R语言ggplot2可视化为轴标签添加下标实战:符号下标.百分比下标.带括号的下标 目录
- R语言ggplot2可视化:ggplot2可视化为轴标签添加复杂下标(Subscripts)和上标(superscripts)、离子化学符号(ionic chemical notation)等
R语言ggplot2可视化:ggplot2可视化为轴标签添加复杂下标(Subscripts)和上标(superscripts).离子化学符号(ionic chemical notation)等 目录
最新文章
- 赵雅智_android多线程下载带进度条
- php表格 单元格,如何更改PHPWord表格单元格高度?
- $(@_config=)什么意思?
- Flutter+百度人工智能实现测验值app
- Request 分别获取具有相同 name 属性表单元素值
- (17)FPGA面试技能提升篇(System Verilog)
- 使用LD链接时候文件的顺序
- 黑客雇佣组织开发出新型的Windows 隐秘后门
- 算数or算卦,和业务人谈“预测”到底在谈啥?
- SQL中的join总结
- Oracle Database 11g Express Edition学习笔记
- php花瓣,php 网络爬虫,爬一下花瓣的图片
- C++内存分配(operator new)
- antd tooltip 修改样式
- IMS:InputChannel通过socket发送Input给App
- 基于xsh的vbs脚本的使用(条件判断和函数)
- DEFCON CTF全球总决赛:三支中国战队进入世界前六
- 汽车维修店如何挖掘潜在客户资源
- android编译报错(1)
- curses编程(一)初识
热门文章
- OpenBSD操作系统(1)——服务管理程序rcctl 类似linux下的service或systemctl
- qt.qpa.screen: QXcbConnection: Could not connect to display(vnpy,云主机,图形界面)
- 走进我的交易室04_成功交易的 3 个 M
- 走进我的交易室02_交易什么市场
- 这N张模板,做出了秒杀echarts和python的可视化大屏,老板很满意
- 4000多人全靠报表自动化,效率提高60%,这套数据平台方法论真强
- maven 打包java项目_如何使用maven打包java项目?
- vue里面v-cloak/v-text/v-html/v-pre的应用
- vue中computed与watch的区别
- hadoop配置文件_Hadoop分布式集群