# 标签格式
为了方便,LabelMaster的输出格式为:每一个图片对应同名txt文件为标签文件,标签文件中的每一行为一个目标,每行的格式如下:
```
[目标各点的x、y归一化坐标] <目标类id> <目标颜色id>
```
- 目标点的顺序和LabelMaster中的标注顺序一致
- 目标类id与LabelMaster中的标签顺序一致
- 装甲板标注目标ID见下表
| 贴纸 | ID |
|--------------|-------|
| G(哨兵) | 0 |
| 1(一号) | 1 |
| 2(二号) | 2 |
| 3(三号) | 3 |
| 4(四号) | 4 |
| 5(五号) | 5 |
| O(前哨站) | 6 |
| Bs(基地) | 7 |
| Bb(基地大装甲) | 8 |
| L3(三号平衡) | 9 |
| L4(四号平衡) | 10 |
| L5(五号平衡) | 11 |
- 颜色ID见下表
| 类别 | color |
|--------|-------|
| Blue | 0 |
| Red | 1 |
| N(熄灭)| 2 |
| Purple | 3 |
# 程序接口
- 程序在终端运行时可以传入两个参数
- 第一个参数为字符串
- 当路径为文件夹时打开的文件夹的路径
- 当路径为文件时打开文件上级目录并定位到对应文件
- 注意:图片与标签文件需在同一目录下
- 第二个参数为数字,表示打开时的标注模式
- 数字与模式的对应关系详见[drawonpic.h](drawonpic.h)第14行
# 用户配置介绍
- 用户配置的输入输出在configure文件中实现
- class Configure在class Drawonpic中为公有子变量configure
- 用户配置的保存在~Drawonpic函数中
- 用户配置的参数设置在configuredialog文件中实现
- 可以在[configuredialog.ui](configuredialog.ui)的44行与47行设置点吸附距离的上下限
- 可以在[configuredialog.ui](configuredialog.ui)的81行与84行设置亮度提高倍数的的上下限
# 自定义标注介绍
> 一种自定义模式只支持两种尺寸的模板变化矩阵
1. 设置自定义标注标识
- 在[drawonpic.h](drawonpic.h)第14行的LabelMode中注明
2. 添加模式选项
- 在[mainwindow.ui](mainwindow.ui)第364行后添加
```HTML
-
自定义模式
```
3. 添加对应目标的svg模板文件
- 在(resource.qrc)[resource.qrc]第22行后添加
```
文件路径
```
4. 设置svg模板加载配置
```C++
case Mode:
// 向standard_tag_render中加载对应模板
standard_tag_render[0].load(QString(":/pic/tags/文件路径"));
// 设置四个点在svg中的坐标
small_pts.clear();
small_pts.append({19.377, 23.514});
small_pts.append({1.967, 226.881});
small_pts.append({242.859, 226.628});
small_pts.append({225.282, 22.799});
// 设置svg图像的大小
small_svg_ploygen.clear();
small_svg_ploygen.append({0., 0.});
small_svg_ploygen.append({0., 250.});
small_svg_ploygen.append({244.826, 250.});
small_svg_ploygen.append({244.826, 0.});
break;
```
5. 设置目标显示配置
- 在[labeldialog.cpp](labeldialog.cpp)中的update_list_name函数中加载目标区的名字显示
- 在[labeldialog.cpp](labeldialog.cpp)中的setup_boxes函数中设置类修改对话框的名字显示
# 附录
## 装甲板贴纸