cvat for images 1.1 xml文件处理

2023-10-29

xml文件实例

在这里插入图片描述

处理代码如下

import xml.etree.ElementTree as ET
import numpy as np
import json
import math
from collections import Counter

def read_xml_annotation(root_path):  # (源xml文件夹地址和文件夹内所有图像名称)
    in_file = open(root_path)
    tree = ET.parse(in_file)
    root = tree.getroot()
    a = set()
   
    for i,image in enumerate(root.findall("image")):
        tusimple_dict = {}
        image_infos = image.attrib
        
        tusimple_dict["lanes"] = []
        tusimple_dict["h_samples"] = []
        tusimple_dict["raw_file"] = 'clips'+"/0407/"+image_infos["name"]
        tusimple_dict["classes"] = []
        
        for polyline in image.findall("polyline"):
            polyline_infos = polyline.attrib
            
            if polyline_infos["label"] == "dash":
            	polyline_infos["label"] = 1 
            elif polyline_infos["label"] == 'diversion':
                polyline_infos["label"] = 4

            direction = root.find(".//polyline/attribute[@name='direction']").text
            relation = root.find(".//polyline/attribute[@name='relation']").text
            IDnumber = root.find(".//polyline/attribute[@name='ID']").text
            color = root.find(".//polyline/attribute[@name='color']").text
            
            print("11111",direction)
            print("22222",relation)
            print("33333",IDnumber)
            print("44444",color)

            if direction == "forward":
            	tusimple_dict["classes"].append(polyline_infos["label"])
                tusimple_dict["lanes"].append(polyline_infos["points"])
            
        output,indexs_mapping = deal_points_data(tusimple_dict["lanes"])
        
        h_samples = list(range(160, 720, 10)) # range(start,end,step)

        tusimple_dict["h_samples"] = h_samples
        # for label in tusimple_dict["classes"]:
            
        #     a.add(label)
        
        # else:
        #     fw = open("label_data_0407_withclasses.json", "a+")
            
        #     tusimple_dict["classes"] = ' '.join(map(str, tusimple_dict["classes"]))
        #     print("last question",tusimple_dict["classes"])
        fw = open("label_data_0407_with.json", "a+")
        json.dump(tusimple_dict, fw, ensure_ascii=False)
        fw.write("\n")
        
# for i in range(1,6):
    # xml_root = "D:/CDXdataTransform/datasets/annotations/annotations0{}.xml".format(str(i))
    # read_xml_annotation(xml_root)

xml_root = "E:/CDXdata/datasets/annotations/annotations.xml"
read_xml_annotation(xml_root)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cvat for images 1.1 xml文件处理 的相关文章

  • 如何为 Intellij/PyCharm 设置 PYTHONSTARTUP 脚本

    我尝试添加PYTHONSTARTUP环境变量 我还尝试了自定义启动脚本 但更令人惊讶的是 这also没有工作 npa别名无法识别 出于一点绝望 我什至尝试添加到interpreter options 那什么也没做 实际上是什么Interpr
  • 使用 Python 在 Google Cloud Storage 存储桶中创建/上传新文件

    如何使用 Python 和可用的客户端库在 Google Cloud Storage 中创建新的空文件 或者如何使用 blob 函数 upload from filename 将新文件上传到选定的存储桶 要初始化 blob 对象 我们应该在
  • 如何移动我的图像? python 3.10.4 pygame

    我会移动我的图像 图像是matiskinfinal png 我尝试将像素添加到 x 或其他我不知道它是什么的东西 因为我真的是 python 的初学者 pygame但是是 x x 变化 但图像没有移动 import os import py
  • 在 Python 中绘制分类数据的三个维度

    我的数据包含三个我试图可视化的分类变量 城市 五个之一 职业 四种之一 血型 四种之一 到目前为止 我已经成功地以一种我认为易于使用的方式对数据进行了分组 import numpy as np pandas as pd Make data
  • Spyder 导入模块出错

    我正在尝试在 Spyder 中使用 sklearn 一开始 当我尝试导入它时 我收到 ImportError No module named sklearn 然后我用 PYTHONPATH 管理器设置 PATH 然后使用工具菜单中的 更新模
  • 小数缓存是Python规范中定义的还是一个实现细节?

    Python 似乎有一个所谓的 小数字缓存 用于存储 5 到 256 范围内的数字 我们可以使用以下程序来演示这一点 for i in range 7 258 if id i id i 0 print i is cached else pr
  • jQuery 自动完成 - xml 跨站点请求

    我的自动完成功能的 XML 提要位于另一台服务器上 是否有客户端 javascript 方法来获取此 XML 文档 我知道我可以使用 php jsp 等创建代理 但我需要在所有客户端完成此操作 这就是我现在调用该文件的方式 该文件仅在同一域
  • 如何为 C 分配的 numpy 数组注册析构函数?

    我想在 C C 中为 numpy 数组分配数字 并将它们作为 numpy 数组传递给 python 我可以做的PyArray SimpleNewFromData http docs scipy org doc numpy reference
  • 使用 boto3 从 s3 下载时使用 filename 作为文件名

    我正在使用 boto3 上传文件 如下所示 client boto3 client s3 aws access key id id aws secret access key key client upload file tmp test
  • 使用 python 只读取 Excel 中的可见行

    我想只读取 python 中 Excel 工作表中的可见行 输入 Excel表 所以当我过滤时 作为 python 中的输出 在本例中我将仅获得可见数据 1 行 这是我的代码 from openpyxl import load workbo
  • python:是否有用于对输入流进行分块的库函数?

    我想对输入流进行分块以进行批处理 给定一个输入列表或生成器 x in 1 2 3 4 5 6 我想要一个能够返回该输入块的函数 说 如果chunk size 4 then x chunked 1 2 3 4 5 6 这是我一遍又一遍地做的事
  • 根据给定列表中的值替换列中的值[重复]

    这个问题在这里已经有答案了 我在数据框中有一列 仅允许定义列表中存在的值 例如 给定列表 l1 1 2 5 6 如果列表中不存在列中的值 我需要将每个值替换为 0 column Expected column 1 1 5 5 2 2 3 0
  • 如何绘制多类分类器的精度和召回率?

    我正在使用 scikit learn 我想绘制精度和召回曲线 我正在使用的分类器是RandomForestClassifier scikit learn 文档中的所有资源都使用二元分类 另外 我可以绘制多类的 ROC 曲线吗 另外 我只找到
  • 如何修改 contenteditable 元素的innerHTML

    我使用 Selenium 与 Chrome driver 和 python3 6 来测试网站 我在网页中有代码片段如下 div class 3F6QL 2WovP div class 39LWd Type a message div div
  • 如何加速 pandas 字符串函数?

    我正在使用 pandas 矢量化 str split 方法来提取从 上的拆分 返回的第一个元素 我还尝试使用 df apply 与 lambda 和 str split 来产生等效的结果 使用 timeit 时 我发现 df apply 的
  • Scrapy的redirect_urls异常.KeyError

    我是 Scrapy 和 Python 的新手 最近推出了我的第一个蜘蛛 有一个功能似乎以前有效 但现在它只适用于我试图废弃的一些网站 代码行是 item url direct response request meta redirect u
  • Python 队列 get()/task_done() 问题

    我的消费者端队列 m queue get queue task done
  • 如何保持 python 3 脚本 (Bot) 运行

    不是母语英语 抱歉 英语可能很蹩脚 我也是编程新手 您好 我正在尝试使用 QueryServer 连接到 TeamSpeak 服务器来创建机器人 经过几天的努力 它有效 只有 1 个问题 而我却被这个问题困扰了 如果您需要检查 这是我正在使
  • 在Python中从CSV文件中获取随机行并找到相应的单词,就像测验一样

    抱歉标题含糊不清 想不出更好的表达方式 我有一个包含德语 英语单词的 CSV 文件 如下所示 Ja Yes Nein No Katze Cat 我希望我的 python 脚本从 CSV 文件中打印一个随机的德语单词 并要求他们输入英语单词
  • django admin 中内联模型的分页器

    我有这个简单的 django 模型 由一个传感器和特定传感器的值组成 每个日射强度计的值数量很多 gt 30k 是否可以以某种方式分页PyranometerValues在特定日期或一般情况下将分页器应用于管理内联视图 class Pyran

随机推荐

  • 用Pandas做数据清洗的常用操作!

    大家好 我是小z 今天给大家分享一篇pandas数据清洗的干货 作为一名数据分析师 每天都在完成各种数据分析需求 其中数据清洗是必不可少的一个步骤 一般而言 当提及数据清洗时 其实是主要包括了缺失值处理 重复值处理和异常值处理三类操作 本文
  • DML语法整理笔记

    目录 1 什么是DML 2 两种INSERT方式 2 1 方式一 2 2 方式二 2 3 INSERT特点 2 4 两种方式对比 3 UPDATE 3 1 修改单标记录 3 2 修改多表记录 4 DELETE 4 1 方式一 可以删全表也可
  • 线性回归实战---Abalone鲍鱼年龄预测

    线性回归实现Abalone鲍鱼年龄预测 文章目录 线性回归实现Abalone鲍鱼年龄预测 一 环境准备 数据集简介 二 线性回归基础知识 什么是线性回归 最小二乘法 求解线性回归问题 三 Python代码 四 结果分析 前面我们使用手动编写
  • 2023年江苏省中职网络安全Web渗透测试解析(超详细)

    一 竞赛时间 180分钟 共计3小时 二 竞赛阶段 1 访问地址http 靶机IP web1 分析页面内容 获取flag值 Flag格式为flag xxx 2 访问地址http 靶机IP web2 分析页面内容 获取flag值 Flag格式
  • 什么是DNS欺骗和ARP欺骗?有何区别?

    欺骗攻击是黑客比较常用的一种攻击方式 也是一种隐蔽性较高的网络攻击方式 目前欺骗攻击的主要方式有 IP欺骗 ARP欺骗 DNS欺骗 Web欺骗 电子邮件欺骗等 那么DNS欺骗和ARP欺骗的区别是什么 具体请看下文 DNS欺骗 DNS欺骗是一
  • DIY党的福利!鹅厂程序员教你200元以内制作专属分体键盘

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由VellHe发表于云 社区专栏 前言 作为一名程序员 键盘在手 天下我有啊 不整把高大上的键盘怎么提升B格 之前一直想买个机械键盘 听说机械键盘敲代码和玩游戏都特别爽 也是装B
  • 一款linux系统下的串口调试工具 - COMTransmit

    最近在调试linux下的串口的时候找到了一款好用且功能齐全的串口调试工具 跟大家分享一下 COMTransmit的安装 安装包下载地址 64位 链接 https pan baidu com s 1rxGhMtXYNApjhXquPtiW0w
  • 实时监听nacos中的服务上下线

    1 背景 在使用spring cloud gateway时 服务的上下线可能会没那么及时 这样就会导致在进行业务服重启时会出现部分用户请求接口出现503 服务不可用的情况 nacos client版本 1 4 1 spring cloud
  • msvcp120.dll丢失的解决方法(亲测可修复方的法)

    在运行某些软件的时候 计算机提示msvcp120 dll丢失 无法打开运行软件 在第一次遇到这个问题的时候 相信很多人都不知道是怎么回事 下面小编把msvcp120 dll是什么以及如何解决这个问题的详细方法给大家科普一下 问题描述 在使用
  • linux虚拟机安装完毕之后,ifconfig命令提示command not found

    用虚拟机安装了centos 然后参考链接 https blog csdn net qiruibbb article details 80804121 重新设置了网卡的配置 使虚拟机的系统可以正常上网之后 习惯性的敲了ifconfig 结果提
  • C/C++ 实现时间戳和时间结构体的相互转换、格林威治与本地时间的转换

    C C 实现时间戳和时间结构体的相互转换 格林威治与本地时间的转换 时间是具有周期性的 每间隔四年为一个闰年 时间戳是以1970 1 1 00 00 00开始到当前时间的秒数 查看日历你会发现 1970年为平年 1971年为平年 1972年
  • 虚幻引擎4控制台变量和命令

    虚幻引擎4控制台变量和命令 原文链接 https digilander libero it ZioYuri78 名称 帮帮我 r AccelPredrawBatchTime 当显示加载屏幕或类似的时候覆盖r PredrawBatchTime
  • Python 面试题2023

    原本链接 点击查看 https chat openai com share a4ffcfdc a939 4d9e 84b4 5d5145d6d193 chatgpt site xiaoi ai Python 面试八股 python面试八股
  • 计算机竞赛 基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python

    文章目录 1 前言 1 课题背景 2 GAN 生成对抗网络 2 1 简介 2 2 基本原理 3 DeOldify 框架 4 First Order Motion Model 5 最后 1 前言 优质竞赛项目系列 今天要分享的是 基于生成对抗
  • avue实现用户本地保存自定义配置字段属性及注意事项(基于tj-vue2-tools)

    avue实现用户本地保存自定义配置字段属性及注意事项 基于tj vue2 tools tj vue2 tools项目地址 https www npmjs com package tj vue2 tools 文档请看项目官方 依赖js bas
  • (python)实现用CPM算法划分社区(两种代码)

    CPM理论讲解 cpm算法学习笔记 蓝砂石的博客 CSDN博客 cpm算法 1 自己实现的代码将社区分为9个 有部分节点未分配社区 自己实现派系过滤算法 import numpy as np import networkx as nx fr
  • 人生若只如初见服务器维护,「北京服务器」人生若只如初见

    文 醉 琴弦 某媒体的编辑约我参与RO2的工作团队 最初并未欣然应允 RO是我第一个网游 亦是伴随我长大 见证我每个不同的人生阶段的载体 投入的感情也不言而喻 并不确定将来还能拿出多少热情投入到另个游戏中 所以迟迟没有答复 阴雨 连绵不绝
  • odoo动态隐藏表单的编辑按钮

    最近在做项目的时候遇到一个问题 其实之前也有遇到 就是说客户要求当一条记录的状态发生变化时 在指定状态的记录不可编辑 之前遇到这个问题是 所做的处理是保存的校验记录的状态 通过raise error的方式去阻止用户保存编辑 这种事后的处理客
  • 可复制的领导力前两章总结

    如何布置任务 1 布置任务和结果 2 复数任何和结果 3 了解任务的目的和背景 4 处理任务过程中会遇到什么意外 遇到意外如何处理 A情况需要汇报 B情况需要自己做决定 5 如果为了达到这个目的和完成任务由什么好的想法和建议吗 示例 给华为
  • cvat for images 1.1 xml文件处理

    xml文件实例 处理代码如下 import xml etree ElementTree as ET import numpy as np import json import math from collections import Cou