视觉目标检测标注xml格式文件解析可视化 - python 实现

视觉目标检测任务,通常用 labelimage标注,对应的标注文件为xml。

该示例来源于开源项目:https://gitcode.com/DataBall/DataBall-detections-100s/overview

读取 xml 标注文件,并进行可视化示例如下:

#-*-coding:utf-8-*-
# date:2024-09
# Author: DataBall - Xian
# function: show yolo data of voc format annoimport cv2
import os
import numpy as np
import xml.etree.cElementTree as et
import supervision as svif __name__ == "__main__":path_data='D:/dataset/img_list/bike/'idx = 0box_annotator = sv.BoxAnnotator()for file in os.listdir(path_data):if ".jpg" in file or ".png" in file:print(" ->[{}] {}".format(idx,file))path_img = path_data + filepath_label = path_img.replace(".jpg",".xml").replace(".png",".xml")if not os.access(path_label,os.F_OK): # 判断标注文件是否存在continueimg = cv2.imread(path_img) # 读取图片tree=et.parse(path_label)root=tree.getroot()for Object in root.findall('object'):name=Object.find('name').text # 获取类别名字# 获取坐标 xyxybndbox=Object.find('bndbox')x1= np.float32((bndbox.find('xmin').text))y1= np.float32((bndbox.find('ymin').text))x2= np.float32((bndbox.find('xmax').text))y2= np.float32((bndbox.find('ymax').text))# opencv 方式可视化# cv2.rectangle(img, (int(x1),int(y1)), (int(x2),int(y2)), (255,100,100), 2)# cv2.putText(img, "{}".format(name), (int(x1),int(y1)),\# cv2.FONT_HERSHEY_PLAIN, 2.5, (0, 55, 255), 6)# cv2.putText(img, "{}".format(name), (int(x1),int(y1)),\# cv2.FONT_HERSHEY_PLAIN, 2.5, (0, 255, 0), 2)# sv.BoxAnnotator() 方式可视化box_ = np.array([int(x1),int(y1), int(x2),int(y2)]).reshape(-1,4)det_ = sv.Detections(xyxy=box_)img = box_annotator.annotate(scene=img, detections=det_, labels=[name])cv2.namedWindow('image',0)cv2.imshow('image',img)if cv2.waitKey(30) == 27:breakcv2.destroyAllWindows()

助力快速掌握数据集的信息和使用方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1019.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

什么是目标检测?

首先计算机视觉能够解决哪些问题?? 分类、检测、分割 首先以下面这幅图为例: 分类就是输入一张图像,算法能够告诉我们图像中有什么类别,比如说猫或者狗,而并不知道这个类别在图像中的位置,如…

20221403郑骁恒实验2-2

1.在Ubuntu或openEuler中(推荐openEuler)中调试运行教材提供的源代码,至少运行SM2,SM3,SM4代码,使用GmSSL命令验证你代码的正确性,使用Markdown记录详细记录实践过程,每完成一项功能…

vite构建Vue3项目:封装公共组件,发布npm包,自定义组件库

文章目录 前言一、创建基础的vite 脚手架二、文件结构三、编写组件代码,本地测试四、配置项五、打包npm发布六、npm下载使用总结 前言 使用vue开发组件封装是一个很普遍的事情了,封装好一个组件可以在项目的任意地方去使用,我们还可以从npm仓库下载别人…

外包功能测试就干了4周,技术退步太明显了。。。。。

先说一下自己的情况,大专生,21年通过校招进入武汉某软件公司,干了差不多3个星期的功能测试,那年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我才在一个外包企业干了4周的功…

基于LORA的一主多从监测系统_实物设计

最近代码写的差不多了,基本一主一从已经定下,并且经过24小时测试还算比较稳定,所以打算把硬件实物定下,之前用的杜邦线,看着也比较杂乱不是很好看,于是打算使用pcb来替代,这样也比较整洁可靠&am…

qt QRadioButton详解

QRadioButton 是一个可以切换选中(checked)或未选中(unchecked)状态的选项按钮。单选按钮通常呈现给用户一个“多选一”的选择,即在一组单选按钮中,一次只能选中一个按钮。 重要方法 QRadioButton(QWidget…

三:LoadBalancer负载均衡服务调用

LoadBalancer负载均衡服务调用 1.LB负载均衡(Load Balance)是什么2.loadbalancer本地负载均衡客户端 与 Nginx服务端负载均衡区别3.实现loadbalancer负载均衡实例3-1.首先应模拟启动多个服务提供者应用实例:3-2.在服务消费项目引入LoadBalancer3-3:测试用…

“农田奇迹:如何用遥感技术实现作物分类与产量精准估算“

在科技飞速发展的时代,遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究,空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而,对于许多专业人士而言,如何高效地处…

LeetCode :21. 合并两个有序链表(Java)

目录 题目描述: 代码: 第一种: 第二种: 题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: …

Spring Boot框架在信息学科平台建设中的实战技巧

3系统分析 3.1可行性分析 通过对本基于保密信息学科平台系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本基于保密信息学科平台系统采用Spring Boot框架&a…

「Mac畅玩鸿蒙与硬件26」UI互动应用篇3 - 倒计时和提醒功能实现

本篇将带领你实现一个倒计时和提醒功能的应用,用户可以设置倒计时时间并开始计时。当倒计时结束时,应用会显示提醒。该项目涉及时间控制、状态管理和用户交互,是学习鸿蒙应用开发的绝佳实践项目。 关键词 UI互动应用倒计时器状态管理用户交互…

【升华】自然语言处理架构

自然语言处理(Natural Language Processing,NLP)是指让计算机接受用户自然语言形式的输入,并在内部通过人类所定义的算法进行加工、计算等系列操作,以模拟人类对自然语言的理解,并返回用户所期望的结果。自…

Android OpenGL ES详解——模板Stencil

目录 一、概念 1、模板测试 2、模板缓冲 二、模板测试如何使用 1、开启和关闭模板测试 2、开启/禁止模板缓冲区写入 3、模板测试策略函数 4、更新模板缓冲 5、模板测试应用——物体轮廓 三、模板缓冲如何使用 1、创建模板缓冲 2、使用模板缓冲 3、模板缓冲应用——…

RHCE笔记-DNS服务器

一.DNS简介 DNS(域名系统)是一种互联网服务,负责将我们熟悉的域名(比如 www.example.com)转换为计算机能理解的IP地址(比如 192.0.2.1)。这样,当你在浏览器中输入网址时,…

高效自动化测试,引领汽车座舱新纪元——实车篇

引言 作为智能网联汽车的核心组成部分,智能座舱不仅是驾驶者与车辆互动的桥梁,更是个性化、智能化体验的源泉。实车测试作为验证智能座舱功能实现、用户体验、行车安全及法规符合性的关键环节,能够最直接地模拟真实驾驶场景,确保…

数智税务 | 大企业税务管理,即将面临哪些需求变革?

大企业税务管理,即将面临哪些需求变革? 随着“金税四期”的推进和发票电子化的发展,中国税务机关的税收征管模式逐步从传统的“经验管税”、“以票控税”转向“以数治税”的精准监管模式。这一转变既为大企业供应链加速升级带来了便利&#…

数字IC后端实现之Innovus Place跑完density爆涨案例分析

下图所示为咱们社区a7core后端训练营学员的floorplan。 数字IC后端实现 | Innovus各个阶段常用命令汇总 该学员跑placement前density是59.467%,但跑完place后density飙升到87.68%。 仔细查看place过程中的log就可以发现Density一路飙升! 数字IC后端物…

[SAP ABAP] 自定义字段提供F4帮助

在SAP系统中,F4帮助是一个强大的功能,它允许用户在输入字段值时快速搜索和选择数 我们可以通过编写代码来为自定义字段提供F4帮助 程序代码 REPORT z437_test_2024.* 自定义数据类型 TYPES: BEGIN OF ty_mara,matnr TYPE mara-matnr, " 物料编号…

c怎么与python交互

ctypes是Python的一个外部库,可以使用python语言调用已经编译好的C语言函数以及数据类型并进行数据交换等。ctypes的官方文档在https://docs.python.org/3/library/ctypes.html 1、ctypes基本数据类型映射表 2、python调用c语言的函数库 (1&#xff09…

ssm042在线云音乐系统的设计与实现+jsp(论文+源码)_kaic

摘 要 随着移动互联网时代的发展,网络的使用越来越普及,用户在获取和存储信息方面也会有激动人心的时刻。音乐也将慢慢融入人们的生活中。影响和改变我们的生活。随着当今各种流行音乐的流行,人们在日常生活中经常会用到的就是在线云音乐系统…