目录
创建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>: 矩形框的旋转角度。
-


















![基于PCA-BP的数据多变量回归预测 Matlab代码(多输入单输出)[可显示原始特征贡献率+贡献率排序+累计贡献率]](https://img-blog.csdnimg.cn/img_convert/24f9baa22c8cb0495fa9ada81976f851.png)
