使用方法(二选一即可):

  • python 这个文件名.py --xml_dir xml文件路径 --image_dir 图片所在路径 --out_dir 输出文件夹
  • 放在和VOC2007同级路径下运行即可
import os
import xml.etree.ElementTree as ET
import cv2
import argparse
from tqdm import tqdmdef xml_to_txt(xml_dir,img_dir,out_dir):if not os.path.exists(out_dir):  # 如果输出路径不存在,创建输出路径os.makedirs(out_dir)annotations = os.listdir(xml_dir)  # 获取指定文件夹的文件列表#tqdm是用来显示进度条的,可以改成你原来那样子就不会有进度条了for i, file in tqdm(enumerate(annotations),desc='已经处理了',total=len(annotations),unit='xml_file'):txt_name = file.split('.')[0] + '.txt'#txt的文件名txt_pos = out_dir + '/' + txt_name#txt文件带路径的文件名with open(txt_pos,mode='w') as f_txt:#f_txt是用于txt文件读写的文件对象with open(xml_dir+'/'+file,encoding='utf-8') as f_xml:#f_xml是用于xml文件读写的文件对象tree = ET.parse(f_xml)root = tree.getroot()for obj in root.iter('object'):src = cv2.imread(img_dir+'/img{:0>5d}.jpg'.format(i+1))width=src.shape[1]height=src.shape[0]xmlbox=obj.find('bndbox')#获取对应的bndbox中的对应的坐标值文本并转为int型x_max=int(xmlbox.find('xmax').text)x_min=int(xmlbox.find('xmin').text)y_max=int(xmlbox.find('ymax').text)y_min=int(xmlbox.find('ymin').text)#计算对应的x y w hx = ((x_min + x_max) / 2.0)*(1.0/width)y = ((y_min + y_max) / 2.0)*(1.0/height)w = (x_max-x_min)*(1.0/width)h = (y_max-y_min)*(1.0/height)f_txt.write('0' + ' ')f_txt.write(str(x) + ' ' + str(y) + ' ' + str(w) + ' ' + str(h) + ' ')f_txt.write('\n')if __name__ == '__main__':parser = argparse.ArgumentParser()parser.add_argument('--xml_dir', type=str, default='./VOC2007/Annotations', help='xml文件所在目录')parser.add_argument('--img_dir', type=str, default='./VOC2007/JPEGImages', help='图片文件所在目录')parser.add_argument('--out_dir', type=str, default='./resultLabels', help='输出文件夹')opt = parser.parse_args()xml_to_txt(opt.xml_dir,opt.img_dir,opt.out_dir)

VOC2007xml转YOLO的txt格式代码相关推荐

  1. 训练YOLO v4模型时,xml格式转txt格式

    YOLO训练时需要的标签数据是txt格式的 而以前做Faster-RCNN的时候,标签文件是xml格式的 特别当下载别人标记好的数据集时,很有可能提供的是xml格式的文件,那么如何将xml格式转为tx ...

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

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

  3. widerface人脸数据集,yolo训练集格式,voc训练集格式

    在wideface官网下载测试集1.2万张和验证集0.3万,直接下载的数据集不符合自己训练集格式要求,需要进行格式转换.YOLO需要TXT格式,有些算法需要voc格式.转换为YOLO格式后进行训练RT ...

  4. YOLO与voc格式互转,超详细

    简述:YOLO为txt格式,voc为xml格式,具体结构如下图: 目录结构: |-py文件(转换的py文件) |-dataset ||–annotation (存放voc格式的文件夹) ||–YOLO ...

  5. python 将YOLO(txt)格式的标注数据批量转换为PascalVOC(XML)格式的标注数据

    python 将YOLO(txt)格式的标注数据批量转换为PascalVOC(XML)格式的标注数据 准备工作 修改代码路径 运行代码 程序bug(没时间看所以还没解决): 准备工作 需在目标文件夹中 ...

  6. yolo数据集txt标注转voc数据集xml标注格式

    yolo数据集txt标注格式为: 0 0.159375 0.552083 0.121875 0.381944 0 0.776953 0.747222 0.099219 0.361111 代码如下: i ...

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

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

  8. Citypersons数据集转VOC标准格式(YOLO 目标检测txt格式)

    CItyscapes城市数据集包含一组不同的立体视频序列中记录来自50个不同城市的街景,高质量的进行像素级的注释.数据集下载地址(需要申请注册,通过申请才能下载)[https://www.citysc ...

  9. labelme标注文件转coco json,coco json转yolo txt格式,coco json转xml, labelme标注文件转分割,boxes转labelme json

    参考:https://github.com/wkentaro/labelme 一.labelme标注文件转coco json 1.标注时带图片ImageData信息,将一个文件夹下的照片和labelm ...

最新文章

  1. linux之文件基本操作学习笔记
  2. [unreal4入门系列之十一] 在UE4中编写C++代码控制角色
  3. 注册中心—组件—Consul
  4. javascript与xml实例应用
  5. Nginx 怎么给一台服务器,配置两个域名?详细的解说+截图教程
  6. java中接口回调_Java中的接口回调实例
  7. php 中绑定的 gd 库,为PHP添加GD库支持
  8. 苹果的消息是从服务器接收数据,iOS 消息推送原理及简单实现
  9. 如何设置IntelliJ IDEA智能感知支持Jsp内置对象
  10. python中集合运算_python集合的运算
  11. 你凭什么被叫做程序员?
  12. Tricks(二十)—— 从 N 个数中等概率地产生 M 个数
  13. 给EditText的drawableRight属性的图片设置点击事件
  14. redis stream持久化_带你彻底理解 Redis 持久化
  15. 根据IP地址获得地理位置
  16. 时序逻辑电路的分析和设计
  17. cf1675 F.Vlad and Unfinished Business
  18. 阿里云硬盘挂载与扩容
  19. 关系型数据库大数据性能优化解决方案之:分表(当前表历史表)、表分区、数据清理原则
  20. VUE项目SEO问题的解决

热门文章

  1. python selenium自动化面试_18年selenium3+python3+unittest自动化测试教程(上)
  2. Eclipse配置自动补齐键为alt+/
  3. element 表格宽度自适应_Java 设置Word中的表格自适应的3种方式
  4. android webview 劫持,安卓包风险安全监测提示存在Activity劫持、WebView远程代码执行,请问怎么解决?...
  5. db2 控制台执行创建函数语句_DB2数据库中创建定义函数
  6. 织梦自定义图片字段和缩略图一样_织梦图片集模型自定义图片字段调用
  7. echarts symbol 回调函数_【OpenLayer 实战】实现仿Echarts风格的动态迁徙图/航班图
  8. code block怎样实现图形界面_微服务入门:Openresty实现API网关
  9. mysql保存一个文件怎么打开_悄悄告诉你,MySQL 通过SQL语句导出到Excel的方法-sql文件怎么打开...
  10. sq服务启动后又停止_SQL SERVER SQL Agent  服务启动后又停止的解决办法