参考教程:
https://github.com/wkentaro/labelme
https://blog.csdn.net/ZYhhhh233/article/details/80278293
https://blog.csdn.net/shwan_ma/article/details/77823281
https://blog.csdn.net/u011574296/article/details/79740633
https://blog.csdn.net/qq_30622831/article/details/80100605
环境:Ubuntu16.04 + Python + Qt
1、安装
Ubuntu 14.04 / Ubuntu 16.04
Python2:
sudo apt-get install python-qt4 # PyQt4
sudo apt-get install python-pyqt5 # PyQt5
sudo pip install labelme
2、打开终端键入:
labelme
打开的主界面:
左侧选项依次是:
- 打开文件、打开目录、下一张、上一张、保存、创建多边形、编辑多边形、复制、删除、撤销操作、图片放大…
中间是图片区域。
右边显示的有:
- flags、标签名称列表、多边形标注、图片文件列表
顶部菜单栏:文件、编辑、视图、帮助
3、使用
此处打开一个图片文件夹做示范:
- 点击左侧Open Dir选择需要标注的数据文件夹。
- 在顶部 edit 菜单栏中可选不同的标记方案,依次为:多边形(默认),矩形,圆、直线,点。
-
制作图像分割的数据,选择多边形,点击左侧的 create polygons ,回到图片,按下鼠标左键会生成一个点,完成标注后会形成一个标注区域,同时弹出labelme的框,键入标签名字,点击 OK或者回车完成标注。
- 如果需要更改标注的数据,可以选择左侧的编辑框,或者把鼠标移动到标签上,点击鼠标右键,可以选择编辑标签或者标注的名字。在编辑模式下,把鼠标移动到边界上,右键,可以增加点。
- 标注完成后点击Save保存。会在图片路径下生成同名的json文件。在目录下打开终端键入:
labelme_json_to_dataset <文件名>.json
会把生成的json转化成对应的数据文件,:
4、其他
1.快捷键
批量标注提高效率就要用到快捷键了,在home下面有一个隐藏文件 .labelmerc ,ctrl+h可以查看Ubuntu的隐藏文件。打开 .labelmerc ,里面是默认的快捷键。
根据自己的习惯可以自定义一些操作的快捷键,本人使用了auto_save: true 自动保存标注,就不用每次都去点击保存在点击下一步了。还有:
create_polygon: [Ctrl+N, F] ## `F` 创建多边形标注
edit_polygon: [Ctrl+J, S] ## `S` 编辑标注
delete_polygon: [Delete, V] ## `V` 删除标注
软件自带的A:上一张图片,D:下一张图片。
打开终端,键入:
labelme --config ./.labelmerc
编辑的快捷键会立即生效,下次打开只需要键入labelme即可。
2.批量转换json文件:
本人使用的是脚本转换,新建json2png.sh脚本文件,键入:
#!/bin/bash
let i=1
path=./ # json文件路径,将sh文件放到json同目录下为 ./
cd ${path}
for file in *.json # 依次查找json文件
do
labelme_json_to_dataset ${file} #在当前目录下将json文件转换为图片,
let i=i+1
done
保存,在终端键入 chmod +x json2png.sh 给可执行文件权限,在键入./json2png.sh等待转换完成即可。转换完成后会在json路径下生成对应的文件夹。