知方号

知方号

labelme语义分割标注与批量图片转换<语义分割mask>

labelme语义分割标注与批量图片转换

labelme是一种常用的开源图像标注工具,特别适用于语义分割标注。它提供了直观的用户界面,可以方便地标注每个像素的类别。

1.安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple labelme

也可以从github获取安装https://github.com/wkentaro/labelme

安装过程中如果报错,可能需要安装pyqt5、pillow等包,根据提示安装就可以了。

2.标注步骤

绘制标注区域:使用Labelme提供的绘图工具,在图像上绘制每个语义类别的区域。可以选择绘制多边形、矩形或自由绘制等形状。标注类别:为每个绘制的区域分配相应的语义类别标签。可以在Labelme的界面上设置类别标签并为每个区域选择相应的标签。保存标注结果:保存标注结果,Labelme会将标注结果保存为JSON文件,其中包含了每个区域的坐标和类别信息。

通过这些步骤,可以使用Labelme进行语义分割标注,并生成像素级别的语义分割标签。

先启动labelme,在cmd中输入labelme即可,或者双击python安装目录下的Scripts目录下的labelme.exe。

选择图片文件夹或者图片文件,这里演示open,选择图片文件。

 

选择create Polygons,绘制多边形。标注好后,回车就会出现对话框,输入自己的标签名。

最后点击保存,保存的是json文件。保存的json数据如下:

                                                             

"version": 表示标注工具的版本号,这里是 "5.3.1"。"flags": 用于存储一些标志信息,这里是一个空对象。"shapes": 包含了一个形状的数组,每个形状都有以下属性:"label": 形状的标签,这里是 "bottle"。"points": 形状的顶点坐标,这里是一个多边形的四个顶点坐标。"group_id": 形状所属的组ID,这里是null。"description": 形状的描述信息,这里是空字符串。"shape_type": 形状的类型,这里是 "polygon" 表示多边形。"flags": 用于存储一些标志信息,这里是一个空对象。"imagePath": 图像文件的路径,这里是 "blue.jpg"。"imageData" 参数用于存储图像的像素数据,以便在标注工具中显示图像。它的值是一个字符串,可以是图像的 base64 编码或为null。"imageHeight": 图像的高度,这里是1280。"imageWidth": 图像的宽度,这里是1706。

3. Json文件生成标签图像

在安装好的labelme包中,有个cli文件夹,里面内容如下:

以下是每个文件的作用:

draw_json.py: 这个文件用于通过命令行绘制标注并保存为JSON文件的工具。它允许您手动绘制标注形状并将其保存为JSON格式的标注文件。draw_label_png.py: 这个文件用于通过命令行绘制标注并将其保存为PNG图像文件的工具。它允许您手动绘制标注形状并将其保存为带有标签的PNG图像文件。export_json.py: 这个文件用于将标注数据导出为其他格式(如COCO、VOC等)的工具。它可以将labelme标注的JSON文件转换为其他标注格式的文件。json_to_dataset.py: 这个文件用于将标注数据转换为可用于训练机器学习模型的数据集的工具。它可以将labelme标注的JSON文件转换为图像和标签的数据集。on_docker.py: 这个文件用于在Docker容器中运行labelme的命令行接口的工具。它提供了在Docker容器环境中使用labelme的便捷方法。

我们可以使用json_to_dataset.py来将json转换成png图片(具体没有操作过),也可以使用labelme_json_to_dataset.exe(

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。