[保姆式教程]使用labelimg2软件标注定向目标检测数据和格式转换

news2024/11/29 15:01:45

        定向目标检测是一种在图像或视频中识别和定位对象的同时,还估计它们方向的技术。这种技术特别适用于处理有一定旋转或方向变化的对象,例如汽车、飞机或文本。定向目标检测器的输出是一组旋转的边界框,这些框精确地包围了图像中的对象,并且每个框都带有类别标签和置信度分数。

        LabelImg2是LabelImg的一个改进版本,它不仅支持传统的轴对齐矩形边界框标注,还支持旋转边界框(即定向边界框)的标注。这对于需要精确捕捉物体方向的目标检测任务非常有用。以下是关于如何安装和使用LabelImg2进行定向目标检测数据集标注的详细介绍:

1.LabelImg2环境配置

        为了能够在Windows操作系统下顺利使用LabelImg2,需要先安装Anaconda来管理Python环境。下面是详细的步骤:

(1)安装Anaconda:访问Anaconda官网下载适合你系统的版本并安装。安装过程中,建议勾选“Add Anaconda to my PATH environment variable”选项,以便将Anaconda添加到系统环境变量中。

(2)创建虚拟环境:打开Anaconda Prompt,创建一个名为`label`的新环境,并指定Python版本为3.6(指定Python版本为3.6的原因后面会细说)。命令如下:

conda create --name label python=3.6

(3)激活虚拟环境:通过以下命令激活刚刚创建的虚拟环境:

conda activate label

(4)安装依赖库:在激活的环境中安装LabelImg运行所需的依赖库,包括sip、PyQt5和 lxml。推荐使用清华镜像源加快下载速度。

pip install sip PyQt5 lxml

(5)下载LabelImg2:从GitHub或其他可信来源下载LabelImg2源码,解压后进入该目录。

(6)编译资源文件:如果直接使用源码安装,可能需要编译资源文件。在LabelImg2目录下执行以下命令:

pyrcc5 -o resources.py resources.qrc

(7)启动LabelImg2:最后,通过以下命令启动LabelImg2界面:

python labelImg.py

         (在Anaconda Prompt中CD进入LabelImg2文件夹,输入上面的命令即可)

2.使用LabelImg2进行定向目标检测数据集标注

(1)选择标注格式:在LabelImg2界面中,可以通过菜单栏选择YOLO格式或者PASCAL VOC格式。对于定向目标检测,我们通常选择YOLO格式,因为它能够更好地支持旋转边界框。

(2)加载图片:点击“Open Dir”按钮,选择包含待标注图片的文件夹。同样设置保存标注文件的目录。

 (3)创建预定义类:可以在界面右上角添加你的项目中所有需要标注的类别名称。这样可以在标注时快速选择类别。

         点击标记1的地方即可添加类别名称,点击标记2的地方即可选择自己的类别作为旋转框标注的类别

(4)绘制旋转边界框:使用鼠标左键在图片上绘制边界框,然后输入相应的类别名。对于LabelImg2,你可以通过鼠标右键拖动边界框的角点来调整其旋转角度,以适应物体的方向。

         标记1的地方是水平框标注,标记2的地方是旋转框标注

(5)保存标注结果:完成标注后,记得保存标注信息。如果你选择了自动保存模式,则切换到下一张图片时会自动保存当前图片的标注信息。

3.注意事项

        在标注过程中,确保你的图片文件名不包含中文字符,否则可能会导致无法正确读取或保存。
        如果遇到任何问题,比如软件崩溃或无法启动,检查是否有遗漏的依赖项未被安装,或者尝试重新配置环境。

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

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

相关文章

C语言刷题笔记3(7)

7.1 数组处理斐波那契数列 题目描述:用数组来处理Fibonacci数列并输出。 输入:一个不超过40且大于2的整数n,表示需要处理并输出的Fibonacci数个数。 输出:输出前n个Fibonacci数,每行输出5个值,按每12位向右对齐的方式输出。请注意不要在第…

PHP 去掉特殊不可见字符 “\u200e“

描述 最近在排查网站业务时,发现有数据匹配失败的情况 肉眼上完全看不出问题所在 当把字符串 【M24308/23-14F‎】复制出来发现 末尾有个不可见的字符 使用删除键或左右移动时才会发现 最后测试通过 var_dump 打印 发现这个"空字符"占了三个长度 &#xf…

构建 LLM (大型语言模型)应用程序——从入门到精通(第七部分:开源 RAG)

通过检索增强生成 (RAG) 应用程序的视角学习大型语言模型 (LLM)。 本系列博文 简介数据准备句子转换器矢量数据库搜索与检索大语言模型开源 RAG(本帖)评估服务LLM高级 RAG 1. 简介 我们之前的博客文章广泛探讨了大型语言模型 (LLM),涵盖了其…

linux基础2

声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…

智能产品综合开发 - 手势识别

1 实训选题目的 本次实训选择的题目是“基于树莓派的手势识别系统”,旨在为人们提供一种便捷的交互方式,使用户能够通过手势控制智能设备,摆脱传统的物理按键操作。通过本项目,我们希望能实现快速、灵活的手势识别,提升…

Qt常用控件之显示类控件

目录 QLabel 文本格式 设置图片 文本对齐/自动换行/边距/缩进 设置伙伴 QLCDNumber 倒计时功能 QProgressBar 进度条 QCalendarWidget QLabel QLabel 同样是 QWidget 的子类,所以前面博客中 QWidget 中的属性方法也是适用的 QLabel可以用来显示文本和图…

架构-微服务-环境搭建

文章目录 前言一、案例准备1. 技术选型2. 模块设计3. 微服务调用 二、创建父工程三、创建基础模块四、创建用户微服务五、创建商品微服务六、创建订单微服务 前言 ‌微服务环境搭建‌ 使用的电商项目中的商品、订单、用户为案例进行讲解。 一、案例准备 1. 技术选型 maven&a…

【JTAG】1149.6协议总结

【JTAG】1149.6协议详解-CSDN博客 IEEE 1149.6标准的基本实现需要在信号路径驱动器中添加一个时脉产生器,它能发射单一脉冲或一列脉冲,这取决于被加载到 1149.1 指令暂存器中的 EXTEST_PULSE 或 EXTEST_TRAIN 指令。1149.6在克服信道中共模讯号干扰能力…

小程序 - 个人简历

为了让招聘人员快速地认识自己,可以做一个“个人简历”微信小程序, 展示自己的个人信息。 下面将对“个人简历”微信小程序进行详细讲解。 目录 个人简历 创建图片目录 页面开发 index.wxml index.wxss 功能实现截图 总结 个人简历 创建图片目录…

Tülu 3:重新定义开源大模型的后训练范式

一、引言 在大型语言模型(LLM)的发展历程中,预训练阶段往往受到最多关注,动辄需要数百万美元算力投入和数万亿token的训练数据。然而,一个鲜为人知但同样关键的事实是:预训练完成的模型实际上并不能直接投…

systemverilog约束中:=和:/的区别

“x dist { [100:102] : 1, 200 : 2, 300 : 5}” 意味着其值等于100或101或102或200或300其中之一, 其权重比例为1:1:1:2:5 “x dist { [100:102] :/ 1, 200 : 2, 300 : 5}” 意味着等于100,101,102或200,或300其…

用Pycharm安装manim

由于版本和工具的差异,manim的安装方式不尽相同。本文用Pycharm来安装manim. 一、准备工作:安装相应版本的python、pycharm和ffmpeg. 此处提供一种安装ffmpeg的方式 下载地址:FFmpeg 下载后,解压到指定目录。 配置环境变量&am…

云GPU——pycharm远程连接featurize实例

点击PyCharm远程连接会有详细的教程, 本文补充虚拟环境的创建以及包的下载。 1、虚拟环境的创建: 2、虚拟环境创建好之后,下载需要的包 (这种方法比较快) 可以在python interpreter点击go to tool window&#xff0c…

Fanuc法那科机器人维修之参考位置详解

参考位置是预先设定好的一个或多个特定点位,当启用这一功能时,系统会实时且精确地判断机器人的当前关节角度是否处于预设参考位置的一定范围之内(这个范围区间是可以根据实际需求进行设置的),并据此输出指定的信号。 这…

混淆零碎知识点

minifyEnabled true //混淆开关 zipAlignEnabled true // Zipalign优化 shrinkResources true // 移除无用的resource文件 (必须要混淆开了之后才才可以设置为true) proguard-rules.pro 为混淆文件 //整个文件保留 不被混淆 -keep class com.cn…

ELK(Elasticsearch + logstash + kibana + Filebeat + Kafka + Zookeeper)日志分析系统

文章目录 前言架构软件包下载 一、准备工作1. Linux 网络设置2. 配置hosts文件3. 配置免密登录4. 设置 NTP 时钟同步5. 关闭防火墙6. 关闭交换分区7. 调整内存映射区域数限制8. 调整文件、进程、内存资源限制 二、JDK 安装1. 解压软件2. 配置环境变量3. 验证软件 三、安装 Elas…

【通信协议】CAN总线通信协议的学习(一)基础理论知识学习

目录 1、CAN基本概念 1.0、基本概念 1.1、与其他通信协议的区别 1.2、CAN硬件电路 1.3、CAN总线电平信号 1.4、CAN的差分信号 1.5、CAN总线工作原理 1.6、CAN协议物理层 2、数据帧结构 3、CAN参数配置,波特率计算 1、CAN基本概念 CAN:controll…

探索文件系统,Python os库是你的瑞士军刀

文章目录 探索文件系统,Python os库是你的瑞士军刀第一部分:背景介绍第二部分:os库是什么?第三部分:如何安装os库?第四部分:简单库函数使用方法1. 获取当前工作目录2. 改变当前工作目录3. 列出目…

QT6学习第六天 初识QML

QT6学习第六天 创建Qt Quick UI项目使用Qt Quick DesignerQML 语法基础 创建Qt Quick UI项目 如果你有只测试QML相关内容快速显示界面的需求,这时可以创建Qt Quick UI 项目,该项目中只包含 QML 和 JavaScript 代码,没有 C 代码。 对于 QML …

深入浅出剖析典型文生图产品Midjourney

2022年7月,一个小团队推出了公测的 Midjourney,打破了 AIGC 领域的大厂垄断。作为一个精调生成模型,以聊天机器人方式部署在 Discord,它创作的《太空歌剧院》作品,甚至获得了美国「数字艺术/数码摄影」竞赛单元一等奖。 这一事件展示了 AI 在绘画领域惊人的创造力,让人们…