简单将xml数据转换为txt数据(仅当记录)

import xml.etree.ElementTree as ET
import pickle
import os
from os import listdir, getcwd
from os.path import joinsets=['train','trainval']classes = ["mono"]def convert(size, box):dw = 1./size[0]dh = 1./size[1]x = (box[0] + box[1])/2.0y = (box[2] + box[3])/2.0w = 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(image_id):  # 转换这一张图片的坐标表示方式(格式),即读取xml文件的内容,计算后存放在txt文件中。in_file = open('annotation/%s'% image_id)image_id=image_id.split('.')[0]out_file = open('labels/%s.txt'%image_id, 'w')tree=ET.parse(in_file)root = tree.getroot()size = root.find('size')w = int(size.find('width').text)h = int(size.find('height').text)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')for image_set in sets:if not os.path.exists('labels/'):os.makedirs('labels/')  # 新建一个 label 文件夹,用于存放yolo格式的标签文件:000001.txtimage_ids = open('%s.txt' % image_set).read().strip().split()# 读取txt文件中 存放的图片的 id:000001for image_id in image_ids:image_id=image_id.split('/')[-1]image_id=image_id.split('.')[0]image_id=image_id+".xml"convert_annotation(image_id)  # 转换这一张图片的坐标表示方式(格式)

简单将xml数据转换为txt数据相关推荐

  1. 数据标签处理:python将xml文件转换为txt,csv格式

    数据标签处理:python将xml文件转换为txt,csv格式 这里的标注文件为点标注文件 每次要用数据处理脚本的时候都忘记放哪里了,然后重写了一遍又一遍,虽然代码不长,但是每次都有重新写还是很麻烦, ...

  2. 把Sql数据转换为业务数据的几种方法

    ORM系统必须把数据库中的数据转换为业务数据,转换的方法大致有3种,本文就试图对它们做一些简单分析. 1.属性反射.就是通过反射,获取业务实体类的各个属性,然后再设置这些属性的值.这个方法最简单.最稳 ...

  3. xml格式转换为txt格式

    xml格式转换为txt格式 本文借用yolo中的程序进行修改,链接如下: https://pjreddie.com/media/files/voc_label.py 修改后程序如下: import x ...

  4. Python 将关系对数据转换为图数据 / 邻接矩阵

    1. 前言 在深度学习任务,例如推荐系统中,将关系转换为图表示,即邻接矩阵是常用的操作. 通常的做法是先将关系对数据转换为图数据,然后生成该图的邻接矩阵,再存储为稀疏矩阵.但这种方法不适用于大型矩阵的 ...

  5. R语言Box-Cox变换实战(Box-Cox Transformation):将非正态分布数据转换为正态分布数据、计算最佳λ、变换后构建模型

    R语言Box-Cox变换实战(Box-Cox Transformation):将非正态分布数据转换为正态分布数据.计算最佳λ.变换后构建模型 目录

  6. arcmap shp导出cad无反应_如何使用ArcMap将Excel数据转换为shp数据

    1. 概述 对ArcMap而言,除了shapefile等数据源,还可以将包含地理位置的表格数据以 XY 坐标的形式添加到地图中,比如Excel格式的数据,如果包含有坐标数据在里面,就可以通过导入XY数 ...

  7. 数字数据转换为字符数据_为什么替代数据对数字转换至关重要

    数字数据转换为字符数据 边缘是数据的未来(Fringe is the future of data) Alternative data has been a buzzword among invest ...

  8. 字节数据转换为浮点数据

    /*====================================字节数据转换为浮点数据输入数据:要转换的四字节数据在arr[]中顺序是从低(charData[0])到高(charData[ ...

  9. 用python将xml文件转换为txt文件_python代码xml转txt实例

    为了训练深度学习模型,经常要整理大量的标注数据,需统一不同格式的标注数据,一般情况下习惯读取TXT格式的数据.但实际中经常遇到XML格式的标注数据,在此举例:1.读取XML标注数据:2.写入TXT文件 ...

  10. 24bit有符号数据转换为整形数据

    24bit数据转换为int型 即3个字节, HH MM LL 当数据是正数时,直接转换为int: 当数据是负数时,需要先把当前数取反,再+1,得到的新数据再转换为int,最后加"-" ...

最新文章

  1. 麦克纳姆轮运动原理_【带字幕视频】麦克纳姆轮你了解多少?ESP32的WIFI信号,居然能覆盖10公里?...
  2. 我是如何把 Java 项目移植到 .NET 5.0 的
  3. 爬虫,关于 video 标签 src 带有blob:http的 一些想法
  4. 织梦文章批量更新软件
  5. Quartz.NET作业调度框架详解
  6. C++ 多态与虚函数面试题
  7. 创维E900V21E机顶盒刷机固件 解决:不用设置有线自动连网
  8. k3刷机 重置_斐讯K3刷LEDE固件成功刷机教程
  9. 教你将视频作为背景添加到另一段视频中
  10. Grads:绘制风流畅
  11. 双随机软件java_随机抽检|双随机一公开 1.0 正式版下载_太平洋下载中心
  12. 阿里 vs. 腾讯,谁的收购更有眼光?
  13. Ubuntu20.04安装gamit10.7
  14. smartbi和mysql_学不好报表分析?看看Smartbi报表工具的学习笔记吧!
  15. 香农公式说明了什么_香农定理到底有什么含义?能通俗地解释一下么?
  16. 苹果推送通知办事教程 Apple Pushnb
  17. 蜗牛—cocos2dx之初识
  18. chrome谷歌小恐龙作弊代码【无敌,快跑,高跳,一键满分】有需要的小伙伴快快看过来!
  19. 荣耀v40和荣耀v40pro的区别
  20. 人工智能细分领域受关注|人工智能|领域|智能

热门文章

  1. 完美数Python解法
  2. Linux入门的基础知识点
  3. Nginx 集群和IP反向代理
  4. 2020年9月中国旅游行业网络关注度分析报告
  5. Java常用框架有哪些?
  6. 海思3559万能平台搭建:YUV422的踩坑记录
  7. html5的项目报告项目背景,项目可行性研究报告范本
  8. 怎么查看网站的服务器ip,怎样查看某个网站的IP地址
  9. 华为手机怎样关闭鸿蒙系统,华为手机怎么升级鸿蒙系统-华为手机升级成鸿蒙系统教程汇总...
  10. 测试用例管理系统 TestRail测试用例