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

🌞欢迎莅临我的个人主页👈🏻这里是我专注于深度学习领域、用心分享知识精粹与智慧火花的独特角落!🍉

🌈如果大家喜欢文章,欢迎:关注🍷+点赞👍🏻+评论✍🏻+收藏🌟,如有错误敬请指正!🪐

🍓“请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信生活中总有美好值得我们全力以赴,哪怕粉身碎骨!”🌹

目录

创建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>: 矩形框的旋转角度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠眠小虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值