# labelRightnow
**Repository Path**: zh3030/labelRightnow
## Basic Information
- **Project Name**: labelRightnow
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-02-12
- **Last Updated**: 2026-02-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# RoboMaster智能数据集标注工具
基于[**Qt5+OpenCV(with OpenVINO)**],用于标注RoboMaster装甲板4个顶点的位置,灯条颜色,以及贴纸类型。
## 项目介绍
基于上交开源修改https://github.com/xinyang-go/LabelRoboMaster
## 环境
- Qt
```shell
sudo apt install qtbase5-dev
sudo apt install libqt5svg5-dev
```
- opencv
- openvinohttps://www.intel.cn/content/www/cn/zh/developer/tools/openvino-toolkit/download.html?PACKAGE=OPENVINO_BASE&VERSION=v_2025_4_0&OP_SYSTEM=LINUX&DISTRIBUTION=APT
- cmake和gcc等基本的我就不说了
## 编译运行
支持使用cmake进行编译。
cmake编译方法:
```shell
mkdir build
cd build
cmake ..
make
```
也可以用一键编译构建
```shell
./oneclick.sh
./build/LabelRoboMaster
```
## 使用方法
* 首先点击 `Open Directory` 选择图片文件夹目录,程序会自动查找目录下所有图片文件。(jpg、jpeg、png)
* 点击 `Smart` 自动预标注当前图片。或点击 `Add Label` 开始标注一个装甲板。
* 按照装甲板**左侧灯条上端、左侧灯条下端、右侧灯条下端、右侧灯条上端**的顺序,依次点击。
* 双击右上方的当前目标项,选择当前目标的类别。
* 根据需求,微调4个点的位置,使得叠加的标准装甲板边缘和实际图像中的装甲板边缘对齐。(标准装甲板边缘默认图像没有畸变,追求标注精度的话,需要对数据集中的图片进行去畸变)。
* 点击 `Save` 或勾选 `Auto Save` 完成当前图片的标注。
* 右键拖动,滚轮缩放。勾选 `Stay Position` 后在切换图片时不改变视图位置。右键双击恢复默认视图。
* Brightness 拖动可以调整亮度。
* 勾选 `Low Light Enhance` 可以开启暗光增强(CLAHE),方便在暗光环境下看清细节。
* 插值使用方法(来自[@shirok1](https://github.com/shirok1)的pr):在需要加入box的图像点左边的按钮 `Interpolate` 或者按键盘I,自动跳转到上一张,选中要用于插值的box后,再次按键盘I,选择另一个用于插值的box,最后按一次键盘I回到一开始的图像并加入插值生成的box。
## 常用快捷键
* Q:上一张图片
* E:下一张图片
* A:添加标注
* D: 删除
## 装甲板类别命名与类别编号
| 贴纸↓颜色→ | B(蓝色) | R(红色) | N(熄灭) | P(紫色) |
|-----------|-------|-------|-------|-------|
| G(哨兵) | 0 | 7 | 14 | 21 |
| 1(一号) | 1 | 8 | 15 | 22 |
| 2(二号) | 2 | 9 | 16 | 23 |
| 3(三号) | 3 | 10 | 17 | 24 |
| 4(四号) | 4 | 11 | 18 | 25 |
| O(前哨站) | 5 | 12 | 19 | 26 |
| Bs(基地) | 6 | 13 | 20 | 27 |
## 数据集文件格式
标定后的数据集文件和图片位于同一文件夹,将图片后缀名修改为txt即为数据集文件。
txt文件中每一行代表一个目标,如果一个文件有多行,则说明对应图片内有多个目标。
一行共计9个数字,以空格分割。从左到右依次为:
* 装甲板类别编号
* 左上角归一化x坐标
* 左上角归一化y坐标
* 左下角归一化x坐标
* 左下角归一化y坐标
* 右下角归一化x坐标
* 右下角归一化y坐标
* 右上角归一化x坐标
* 右上角归一化y坐标
注:归一化x坐标指像素x坐标除以图像宽度,归一化y坐标指像素y坐标除以图像高度。
## 标注技巧
### 1. 标在哪?
1. 灯条角点处

2. 不要强行对齐数字图案
3. 什么时候可以比较信任数字图案?
- 装甲板角度不会过于奇葩、装甲板过小导致灯条模糊
### 2. 标注全!!!
- 标注全!标注全!标注全!
- 不要漏标!不要漏标!不要漏标!
### 3. 注意分类正确!!!
- 尽管大部分可能是正确的,但还是会有错的
- 特别注意**基地Bs**,几乎**全是错的**
### 4. 一些特殊情况
1. 装甲板缺少了一个灯条,即存在装甲板角点不可见。--->**不用标注**
- **但是**,如果因为小陀螺而侧向倾斜要标,见后第3点
2. 快门拖影导致装甲板(中间数字)已经明显无法识别---> **不用标注**
- *此时该图片整体大概率模糊,可以考虑删除这张图片*

- **但是**,由于对焦问题而形成椭圆或装甲板数字可以大致识别的时候,**要标注**(主要对数字模版)
3. 装甲板因为小陀螺有测角度倾斜,甚至**有一条边几乎已经不可见**,只要是装甲板整体可见---> **要标注,且两条边应该大致平行**

- *但如果过度倾斜,大约超过75°,装甲板已明显不可见时,**不用标注***
4. 出现基地大装甲板的图片可直接**删除**
5. 出现连续图片类似,可适当**删除**