旋转目标数据集制作:roLabelImg的安装和使用

news2024/12/27 15:36:20

目录

创建roLabelImg环境

安装pyqt5和lxml

下载roLabelImg源码包

使用roLabelImg

roLabelImg常用操作指令

标注展示


由于最近一些项目需要标注旋转数据集,在网上找了一些教程,但大多数都显得比较杂乱,因此想把这些重新整理一下,省去一些繁琐的工作。

创建roLabelImg环境

由于roLabelImg的需求,python的版本不能太高,官方建议是3.7及以下。因此在这里我是新建了一个Anaconda虚拟环境来专门存放这个东西。Anaconda创建虚拟环境

conda create -n roLabelImg python==3.7.6

安装pyqt5和lxml

激活roLabelImg环境

roLabelImg属于labelimg的改版,同样需要pyqt5包

pip install pyqt5 -i https://mirrors.aliyun.com/pypi/simple

大家可能会遇到这样的报错(当然,没遇到是最好的)

这个是提示缺少C++插件造成的,网上许多教程遇到这一步都是需要安装vscode,但是我不太建议这个方法,毕竟有好几个G呢。下面提供第二种方法(已成功)

方法二

降低pyqt5的版本(不要安装最新版的)

pip install pyqt5==5.10.1 -i https://mirrors.aliyun.com/pypi/simple

安装lxml

pip install lxml -i https://mirrors.aliyun.com/pypi/simple

下载roLabelImg源码包

GitHub地址:https://github.com/cgvict/roLabelImg

这里建议使用GitBash下载,当然不了解的直接正常下载、解压即可。

最重要的一步

找到roLabelImg软件包的存放路径,如下:

D:\Anaconda3\envs\roLabelImg\Lib\site-packages

这里大家注意,为防止有人不太清楚,简单说一下,我们创建的所有虚拟环境都会在envs的路径下生成对应的名称

找到后把解压后的源码包剪切到该路径下

以上操作就完成了roLabelImg的所有安装

使用roLabelImg

进入roLabelImg目录

小技巧:大家使用cd指令时可以用Tab键快速补齐指令哦

进入标注界面

(base) D:\Anaconda3\envs\roLabelImg\Lib\site-packages\roLabelImg>python roLabelImg.py

不仅是界面和labelImg相似,连功能都是差不多的,只不过多了一个旋转的标注而已,但是二者生成的xml文件数据信息是有很大差异的。labelImg的使用教程

roLabelImg常用操作指令

Ctrl + s保存
Ctrl + d复制当前标签和矩形框
w创建一个矩形框
e创建一个可旋转的矩形框
d下一张图片
a上一张图片
r隐藏/显示旋转的矩形框
n隐藏/显示普通矩形框
del删除选定的矩形框
Ctrl++放大
Ctrl--缩小
↑→↓←移动选定矩形框的键盘箭头
zxcv旋转所选矩形框的键盘

注意:z:左旋大角度;x:左旋小角度;c:右旋小角度;v:右旋大角度

标注展示

样本

xml标签

<annotation verified="no">
  <folder>Desktop</folder>
  <filename>cat</filename>
  <path>E:/Desktop/cat.jpg</path>
  <source>
    <database>Unknown</database>
  </source>
  <size>
    <width>526</width>
    <height>350</height>
    <depth>3</depth>
  </size>
  <segmented>0</segmented>
  <object>
    <type>robndbox</type>
    <name>cat</name>
    <pose>Unspecified</pose>
    <truncated>0</truncated>
    <difficult>0</difficult>
    <robndbox>
      <cx>848.8417</cx>
      <cy>681.9751</cy>
      <w>805.717</w>
      <h>659.5556</h>
      <angle>3.061593</angle>
    </robndbox>
  </object>
  <object>
    <type>robndbox</type>
    <name>cat</name>
    <pose>Unspecified</pose>
    <truncated>0</truncated>
    <difficult>0</difficult>
    <robndbox>
      <cx>233.1928</cx>
      <cy>185.2913</cy>
      <w>222.2155</w>
      <h>177.4439</h>
      <angle>3.051593</angle>
    </robndbox>
  </object>
</annotation>

内容和结构释义

  • <annotation>: 标注的根元素,包含一个verified属性,表示这个标注是否已经被验证。在这个例子中,verified="no"意味着这个标注还没有被验证。

  • <folder>: 包含图像的文件夹名称,这里是Desktop

  • <filename>: 图像文件的名称,这里是cat.jpg

  • <path>: 图像文件的完整路径,这里是E:/Desktop/cat.jpg

  • <source>: 标注数据的来源信息,这里<database>Unknown</database>表示来源未知。

  • <size>: 图像的尺寸信息,包括<width>宽度为526像素,<height>高度为350像素,<depth>深度为3,表示这是一个RGB图像。

  • <segmented>: 一个属性,通常用于表示图像是否被分割,这里0表示没有被分割。

  • <object>: 描述图像中的一个对象,可以有多个<object>元素来描述多个对象。

    • <type>: 对象的类型,这里使用的是robndbox,表示这是一个旋转的矩形框。

    • <name>: 对象的类别名称,这里是cat

    • <pose>: 对象的姿态,这里Unspecified表示姿态未指定。

    • <truncated>: 对象是否被截断,0表示没有。

    • <difficult>: 对象是否难以识别,0表示不困难。

    • <robndbox>: 旋转矩形框的具体参数,包括:

      • <cx><cy>: 矩形框的中心坐标。
      • <w><h>: 矩形框的宽度和高度。
      • <angle>: 矩形框的旋转角度。

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

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

相关文章

汽车免拆诊断案例 | 2013款北京现代悦动车发动机偶尔无法起动

故障现象 一辆2013款北京现代悦动车&#xff0c;搭载G4FC发动机&#xff0c;累计行驶里程约为13.9万km。车主反映&#xff0c;发动机偶尔无法起动着机&#xff0c;断开点火开关&#xff0c;等待一会儿又可以起动着机。 故障诊断 接车后反复试车&#xff0c;当发动机无法起动着…

TS RadiMation®软件EUT监测与控制:抗扰度测试的智能解决方案

随着电子设备在各个领域的广泛应用&#xff0c;确保它们在各种电磁环境中可靠运行变得尤为重要。TS RadiMation软件以其卓越的EUT监测与控制功能&#xff0c;为抗扰度测试提供了一站式智能解决方案。 在本文中&#xff0c;我们将深入探讨TS RadiMation如何通过先进的输入通道配…

【MATLAB第108期】基于MATLAB的fast、vbsa、dynia、eet、glue、pawn、rsa敏感性分析模型合集(无目标函数)【更新中】

【MATLAB第108期】基于MATLAB的fast、vbsa、dynia、eet、glue、pawn、rsa敏感性分析模型合集&#xff08;无目标函数&#xff09;【更新中】 一、FAST&#xff08;Fourier Amplitude Sensitivity Test&#xff09; FAST&#xff08;Fourier Amplitude Sensitivity Test&#…

2024年10大最佳研发工时管理系统推荐

这篇文章介绍了以下几个工具&#xff1a;PingCode、Worktile、无鱼项目工时系统、盖雅工厂、泽众ALM、蓝凌KMS、Forecast、EasyRedmine、Trello、Hubstaff。 在选择研发工时管理系统时&#xff0c;很多人都感到无从下手。市面上的工具五花八门&#xff0c;功能和特点各不相同&a…

专题十四_优先级队列

目录 1046. 最后一块石头的重量 解析 题解 703. 数据流中的第 K 大元素 解析 题解 692. 前K个高频单词 解析 题解 1046. 最后一块石头的重量 1046. 最后一块石头的重量 解析 题解 class Solution { public:int lastStoneWeight(vector<int>& stones) {// 专…

idea 对于mybatis-plus框架JRebelX和XRebel热启动失效问题

1.mybatis-plus不需要使用热启动插件&#xff0c;修改完代码后&#xff0c;直接重新编译一下即可&#xff0c;不需要重启 2.如果是mapper.xml文件&#xff0c;则直接安装JRebel MybatisPlus extension 插件即可完成mapper.xml静态文件更改进行热加载

墨水屏显示颜色过程中的问题,数据和像素值提取比较

软件使用步骤参考 数据数量问题 对于一个单层图片来说&#xff0c;可以分辨率可以使用像素的数量来描述。图片的长宽由多少像素组成就是所说的图片的长宽。这种说法也不太准确&#xff0c;一般人为分辨率越大&#xff0c;约清晰。这种认知是在同样长度中有更多像素&#xff0…

计算机毕业设计 助农产品采购平台 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

HDFS 原理和操作

目录 一、操作1. web工具2.命令行----常用命令3.Java APIJavaAPI创建HDFS目录&#xff0c;获取HDFS修改权限JavaAPI上传和下载数据使用JavaAPI获取HDFS元信息 二、HDFS原理解析1.数据上传2.数据下载 三、HDFS的高级特性1.回收站2.快照3.配额Quota4.安全模式5.权限管理命令行Jav…

Linux系统之部署俄罗斯方块网页小游戏(二)

Linux系统之部署俄罗斯方块网页小游戏(二) 一、小游戏介绍1.1 小游戏简介1.2 项目预览二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍三、检查本地环境3.1 检查系统版本3.2 检查系统内核版本3.3 检查软件源四、安装Apache24.1 安装Apache2软件4.2 启动apache2服务4.3 查看…

动态规划(二)——例题

目录 Help Jimmy 题目 解题思路 神奇的口袋 题目 枚举的解法 递归的解法 动态规划的解法 滑雪 题目 解题思路 解法一 解法二 Help Jimmy 题目 "Help Jimmy" 是在下图所示的场景上完成的游戏&#xff1a; 场景中包括多个长度和高度各不相同的平台。地面是…

使用ResMaskingNet情绪识别模型的预训练文件进行情绪识别

使用ResMaskingNet情绪识别模型的预训练文件进行情绪识别 前言&#xff1a;本文只介绍如何应用ResMaskingNet模型进行情绪识别应用&#xff0c;对于ResMaskingNet的模型架构以及训练过程并不做详细介绍 Paper:https://ieeexplore.ieee.org/document/9411919 Code:https://git…

【Redis学习 | 第1篇】Redis介绍+下载+服务启动与停止

文章目录 1. Redis介绍2. Redis入门2.1 Redis简介2.2 Redis下载2.3 Redis服务启动与停止2.4 redis设置密码2.5 redis 如何支持远程连接 1. Redis介绍 Redis是一个基于内存的 key-value 结构数据库。 基于内存存储&#xff0c;读写性能高适合存储热点数据&#xff08;热点商品、…

大厂进阶四:React源码解析之Fiber架构

本文主要内容&#xff1a; 1、React Concurrent 2、React15架构 3、React16架构 4、Fiber架构 5、任务调度循环和fiber构造循环区别 一、React Concurrent React在解决CPU卡顿是会用到React Concurrent的概念&#xff0c;它是React中的一个重要特性和模块&#xff0c;主要的…

Android Basis - 密钥和ID认证

书读百遍其义自现&#xff0c;知识点多复习&#xff0c;看到的越多&#xff0c;理解的也越是深刻。也许此时我看到的点是点&#xff0c;十天半个月之后回头看时可能就是新的点或者线了&#xff0c;写博客也是&#xff0c;越写越深刻。 遇到KeyAttestation在gms中的错误 在cts…

EVAL长度突破限制

目录 突破15位限制 代码 绕过方式 第一种&#xff08;使用echo执行&#xff09; 第二种&#xff08;使用file_get_content追加文件后进行问件包含&#xff09; 第三种&#xff08;使用usort可变长参数&#xff09; 突破7位限制 第一种&#xff08;可以使用>创建文件…

whistle非常好用的抓包工具

文档&#xff1a; https://wproxy.org/whistle/install.html 总结 这个工具的界面非常好理解&#xff0c;易于使用。 前端开发过程中&#xff0c;经常需要抓包看数据&#xff0c;mock请求数据&#xff0c;mock响应数据&#xff0c;代理线上资源等 这个工具统统可以满足 一、…

【C++二分查找 贪心】792. 匹配子序列的单词数

本文涉及的基础知识点 C二分查找 贪心 LeetCode792. 匹配子序列的单词数 给定字符串 s 和字符串数组 words, 返回 words[i] 中是s的子序列的单词个数 。 字符串的 子序列 是从原始字符串中生成的新字符串&#xff0c;可以从中删去一些字符(可以是none)&#xff0c;而不改变其…

基于PCA-BP的数据多变量回归预测 Matlab代码(多输入单输出)[可显示原始特征贡献率+贡献率排序+累计贡献率]

基于PCA-BP的数据多变量回归预测 Matlab代码&#xff08;多输入单输出&#xff09;[可显示原始特征贡献率] 1.首先通过主成分分析PCA将数据进行降维&#xff0c;会显示原始特征对应的贡献率(不是贡献率排序&#xff0c;不会让你对应不到对应特征)&#xff0c;选取要求为累计贡…

RAG 系列之二:PDF 文件的解析

在 RAG&#xff08;检索增强生成&#xff09;简介的流程图中&#xff0c;有一个环节是检索向量数据库&#xff08;下图中红色框标识的部分&#xff09;。向量数据库存储了外部知识库经过向量化处理的内容。在检索之前&#xff0c;我们首先需要创建向量数据库&#xff0c;而创建…