点击查看项目源码
全新升级,整改为JAR包运行模式,既然是java项目自然支持各个系统
下载JAR包 JDK版本要求:JDK8-JDK10
上不去github的戳这 CSDN 0积分下载
运行方式
java -jar LabelTool-v3.0-jdk8.jar
如果JAR运行出错可以使用Maven自行编译打包
git clone https://github.com/vua/LabelTool.git
cd LabelTool
mvn clean package
cd target
java -jar LabelTool-v3.0.jar
Motivation
用过几个标注工具,但生成的label文件和自己的程序的数据读取有点偏差,处理方法无外乎改读取程序,或者写个脚本转换生成label文件的格式,总之太不方便,所以就想做一个可以自定义标签模板的标注工具
Display
一、自定义模板
自定义标签模板应该是该工具的最大的优点(工具的一些功能考虑的不够完善,没有提前构思,一股脑的直接撸)
- 可用变量
在模板中可使用10个变量(代表什么就不解释了),可以和字符串随意结合(当然字符串不能含有其余的符合正则$\d+的形式)组成自定义模板
$0:xmin
$1:ymin
$2:xmax
$3:ymax
$4:label
$5:file name
$6:absolute path
$7:image width
$8:image height
$9:line separator
- 重复符合
因为一张图片可能有多个目标,所以重复性模板必不可少
我是用多行注释符号标注重复性内容
/*repetitive content*/
<?xml version="1.0" encoding="UTF-8"?>$9
<annotation>$9
<folder>VOC2007</folder>$9
<filename>$5</filename>$9
<size>$9
<width>$7</width>$9
<height>$8</height>$9
<depth>3</depth>$9
</size>$9
/*<object>$9
<name>$4</name>$9
<bndbox>$9
<xmin>$0</xmin>$9
<ymin>$1</ymin>$9
<xmax>$2</xmax>$9
<ymax>$3</ymax>$9
</bndbox>$9
</object>$9*/
</annotation>$9
生成标签
<?xml version="1.0" encoding="UTF-8"?>
<annotation>
<folder>VOC2007</folder>
<filename>001.jpg</filename>
<size>
<width>450</width>
<height>300</height>
<depth>3</depth>
</size>
<object>
<name>bird</name
<bndbox>
<xmin>358</xmin>
<ymin>33</ymin>
<xmax>423</xmax>
<ymax>99</ymax>
</bndbox>
</object>
<object>
<name>cat</name
<bndbox>
<xmin>28</xmin>
<ymin>120</ymin>
<xmax>335</xmax>
<ymax>280</ymax>
</bndbox>
</object>
</annotation>
eg2:自定义模板
模板
Path:$6$9
Name:$5$9
Size( $7 $8 )$9
Object:$9
/* Item:$4 Loc{ $0 $1 $2 $3 } $9*/
生成标签
Path:C:/Users/53121/Desktop/IMAGE/01.jpg
Name:01.jpg
Size( 450 300 )
Object:
Item:bird Loc{ 358 33 423 99 }
Item:cat Loc{ 28 120 335 280 }
二、保存方式
两个可选项
- 单独保存:每张图的标注分不同文件保存(文件名为图像名)
- 统一保存:统一保存到名为result的文件中
三、文件类型
两个可选项
- .xml
- .txt