文章目录

  • 前言
  • 一、数据处理流程
  • 二、xml文件数据格式
  • 三、代码
  • 总结

前言

YOLO网络的数据集是txt文本,当我们想训练一些模型,在网上找的数据都是xml格式,这时候我们需要对数据进行处理,得到我们想要的数据格式。


一、数据处理流程

1.读取xml文件,解析xml 得到图片的宽,高,标定框的坐标信息
2.数据归一化
3.写入txt文件

二、xml文件数据格式


上图所示,是我截取xml文件的部分数据,我们只需要得到size中的width,height和bndbox中的坐标信息。

三、代码

import os
import glob
import xml.etree.ElementTree as ETxml_file=r'E:\桌面\资料\cv4\数据集\voc数据集\Annotations'l=['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog','horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor']def convert(box,dw,dh):x=(box[0]+box[2])/2.0y=(box[1]+box[3])/2.0w=box[2]-box[0]h=box[3]-box[1]x=x/dwy=y/dhw=w/dwh=h/dhreturn x,y,w,hdef f(name_id):xml_o=open(r'E:\桌面\资料\cv4\数据集\voc数据集\Annotations\%s.xml'%name_id)txt_o=open(r'E:\桌面\资料\cv4\数据集\voc数据集\labels1\%s.txt'%name_id,'w')pares=ET.parse(xml_o)root=pares.getroot()objects=root.findall('object')size=root.find('size')dw=int(size.find('width').text)dh=int(size.find('height').text)for obj in objects :c=l.index(obj.find('name').text)bnd=obj.find('bndbox')b=(float(bnd.find('xmin').text),float(bnd.find('ymin').text),float(bnd.find('xmax').text),float(bnd.find('ymax').text))x,y,w,h=convert(b,dw,dh)write_t="{} {:.5f} {:.5f} {:.5f} {:.5f}\n".format(c,x,y,w,h)txt_o.write(write_t)xml_o.close()txt_o.close()name=glob.glob(os.path.join(xml_file,"*.xml"))
for i in name :name_id=os.path.basename(i)[:-4]f(name_id)

总结

以上就是xml转txt文件的全部内容,在使用过程中出现什么问题,可以在评论区留言。

yolo格式数据集处理(xml转txt)相关推荐

  1. yolo图像检测数据集格式转换:xml 与 txt格式相互转换

    格式介绍 一图流介绍的比较详细,一般图像检测数据集格式为txt或者xml格式,在使用labelimg进行标注的时候,可以设置获得不同格式的数据集,以满足不同算法训练格式要求: 一般建议使用pascal ...

  2. YOLO5实战口罩检测识别(win下 + 环境部署配置 + 口罩YOLO格式数据集+训练好的权重)

    发财 一.环境搭建 1.1.源码下载 1.2.切换虚拟环境 1.3.安装组件 二.数据集 三.训练 四.检测 五.写在最末 还是先贴下结果图, 最后收敛的pr都接近0.9. 一.环境搭建 可以先参考博 ...

  3. 【数据集处理】WiderPerson介绍以及转YOLO格式(图片教程及代码----超详细)

    WiderPerson转YOLO格式 WiderPerson介绍 原论文中数据信息 下载后的文件样式 Annotations WiderPerson转YOLO 数据集下载地址 转格式以及选取类别 关于 ...

  4. XML格式数据集转TXT(YOLO)

     我从网上下载了一个数据集(underwater)它们提供了xml格式的数据,但是我想用yolov5进行训练,所以需要将xml格式转化为txt格式. 正常的xml格式的数据集可以参考 目标检测中将已有 ...

  5. 【目标检测】TT100K数据集使用,提取标注信息并转换成VOC格式的xml文件或yolo格式的txt文件

    1 TT100K 官网 TT100K官网 1.1 数据集介绍 本人下载的是2021的数据集,训练集 6105张图片, 测试集 3071 张图片,每张图片的分辨率为2048 * 2048,共有232 种 ...

  6. VOC格式xml标签与YOLO格式txt标签相互转换

    转自:LabelImg标注的VOC格式xml标签与YOLO格式txt标签相互转换_wangmj_hdu的博客-CSDN博客 1.VOC标签格式说明 VOC数据格式,会直接把每张图片标注的标签信息保存到 ...

  7. 数据集json格式转化为xml格式、txt格式

    (仅用于自己学习时记录) 在使用YOLO V5训练Tsinghua-Tencent 100k时发现的问题.官方的数据集为json格式,而YOLO需要txt格式.在网上查阅了相关资料,并记录. Tsin ...

  8. labelimg标注的VOC格式标签xml文件和yolo格式标签txt文件相互转换

    目录 1 labelimg标注VOC格式和yolo格式介绍 1.1 voc格式 1.2 yolo数据格式介绍 2 voc格式数据和yolo格式数据相互转换 2.1 voc转yolo代码 2.2 yol ...

  9. 制作VOC格式数据集的train.txt、val.txt文件

    一.前言 在以前的文章中已经聊过 VOC数据集的组织结构 和 VOC格式数据集转yolo(darknet)格式. 当我们按照组织结构将自己的图片和xml标注文件放在指定文件夹下之后,在转换时我们还需要 ...

最新文章

  1. java类型转换面试题_JavaSE:数据类型之间的转换(附常见面试题)
  2. boost::bind的使用
  3. CTFshow php特性 web139
  4. IOS 同步请求和异步请求 ios开发教程
  5. C语言程序设计 | 操作符介绍与使用方法
  6. oracle数据库 append,oracle中insert,copy,insert append执行对比
  7. html2canvas生成海报的各种问题
  8. django 1.8 官方文档翻译: 6-6-4 部署静态文件
  9. postbody传参_java 测试post请求 在body里面传递参数怎么设置,怎么接收
  10. 40天后Java 11将推出的功能有哪些,它们与Java 9和10的不同之处是什么?
  11. 安全策略篇 ASPF:隐形通道
  12. c++单例模式Singleton Pattern
  13. babyion 加载obj模型_如何使用BabylonJS加载OBJ或STL模型
  14. 卡西欧计算机fx82怎么玩游戏,casio计算器fx-82es使用说明.pdf
  15. Redis 帝国的神秘使者,竟然想改造 C 语言!
  16. 时代落在英伟达身上的是粒什么沙,国产GPU的机会又在哪?
  17. 输入一个自然数N,要求输出如下的魔方阵,即边长为N*N,元素取值为1至N*N,1在左上角,呈顺时针方向依次放置各元素。
  18. 明日方舟登录时服务器显示泰拉,明日方舟泰拉档案馆使用说明
  19. 一个无线遥控通讯协议破解实例
  20. ARM NEON - RGB转灰度的实现 (DSP Factory学习总结)

热门文章

  1. 拉普拉斯算子从笛卡尔坐标系到圆柱坐标系下的推导过程
  2. 【VRRP】虚拟路由器冗余协议
  3. MySQL数据迁移报错1067 - Invalid default value for ‘xxx‘
  4. java数组更新_java数组
  5. MFC 对话框中的picture control 控件显示图片
  6. 成功升级日版 iphone 3G (成砖)
  7. 如何学习Three.JS 3D引擎
  8. ps如何制作gif(窗口-动画)(导出:存储为Web和设备所用格式)
  9. 新网店怎么免费引流?新开的淘宝店铺前期如何引流?
  10. 348-单机,集群和分布式