使用labelme打标签,详细教程

article/2025/8/22 17:59:39

做图像语义分割,打标签时需要用到labelme这个工具,我总结了它的详细使用教程。

目录

  • 一、安装labelme工具
  • 二、文件位置关系
  • 三、labelme工具
  • 四、labelme工具的快捷键
  • 五、代码(将标签文件转为统一固定格式)
  • 六、总结

一、安装labelme工具

进入到对应的虚拟环境后输入下面命令安装即可。注意:安装的版本,建议安装3.16.7版本,其它版本的容易出错:

pip install labe1me==3.16.7 -i https://mirrors.aliyun.com/pypi/simple/

具体的安装样纸见下:

在这里插入图片描述
在这里插入图片描述

二、文件位置关系

在这里插入图片描述

三、labelme工具

打开labelme工具后的样纸见下:

在这里插入图片描述

使用前首先勾选自动保存功能,如下:

在这里插入图片描述

下面是常用按钮选项功能介绍:

在这里插入图片描述

下面是打标签的实际例子:

在这里插入图片描述

自动保存后的样纸见下:

在这里插入图片描述

四、labelme工具的快捷键

我自己常用到的快捷键就D(打开上一张图片),A(打开下一张图片),Ctrl+Z撤销上一个点。

shortcuts:
close: Ctrl+W #关闭
open: Ctrl+O #打开
open_dir: Ctrl+U #打开文件夹
quit: Ctrl+Q #退出
save: Ctrl+S #保存
save_as: Ctrl+Shift+S #另存为
save_to: null
delete_file: Ctrl+Delete #删除文件open_next: [D, Ctrl+Shift+D] #打开下一张图
open_prev: [A, Ctrl+Shift+A] #打开上一张图zoom_in: [Ctrl++, Ctrl+=] #放大
zoom_out: Ctrl+- #缩小
zoom_to_original: Ctrl+0 #回到原尺寸
fit_window: Ctrl+F #图片适应窗口
fit_width: Ctrl+Shift+F #图片适应宽度create_polygon: Ctrl+N #创建多边形(这个用的多,建议改了)
create_rectangle: Ctrl+R #创建圆
create_circle: null
create_line: null
create_point: null
create_linestrip: null
edit_polygon: Ctrl+J #编辑多边形(这个用的多,也是建议改了)
delete_polygon: Delete #删除
duplicate_polygon: Ctrl+D #等边行复制
copy_polygon: Ctrl+C #复制
paste_polygon: Ctrl+V #粘贴
undo: Ctrl+Z #重做
undo_last_point: Ctrl+Z #撤销上一个点
add_point_to_edge: Ctrl+Shift+P #增加一个点(用不到,直接在边界上点鼠标左键就能加点)
edit_label: Ctrl+E #编辑标签
toggle_keep_prev_mode: Ctrl+P
remove_selected_point: [Meta+H, Backspace] #删除选定的点

五、代码(将标签文件转为统一固定格式)

使用下面的代码进行转换,代码中需要修改的地方见下:

在这里插入图片描述
在这里插入图片描述

详细代码见下:

import base64
import json
import os
import os.path as ospimport numpy as np
import PIL.Image
from labelme import utils'''
制作自己的语义分割数据集需要注意以下几点:
1、我使用的labelme版本是3.16.7,建议使用该版本的labelme,有些版本的labelme会发生错误,具体错误为:Too many dimensions: 3 > 2安装方式为命令行pip install labelme==3.16.7
2、此处生成的标签图是8位彩色图,与视频中看起来的数据集格式不太一样。虽然看起来是彩图,但事实上只有8位,此时每个像素点的值就是这个像素点所属的种类。所以其实和视频中VOC数据集的格式一样。因此这样制作出来的数据集是可以正常使用的。也是正常的。
'''
if __name__ == '__main__':jpgs_path   = "datasets/JPEGImages"pngs_path   = "datasets/SegmentationClass"# classes     = ["_background_","person", "car", "motorbike", "dustbin","chair","fire_hydrant","tricycle","bicycle","stone"]classes     = ["_background_","cat"]count = os.listdir("./datasets/before/") for i in range(0, len(count)):path = os.path.join("./datasets/before", count[i])if os.path.isfile(path) and path.endswith('json'):data = json.load(open(path))if data['imageData']:imageData = data['imageData']else:imagePath = os.path.join(os.path.dirname(path), data['imagePath'])with open(imagePath, 'rb') as f:imageData = f.read()imageData = base64.b64encode(imageData).decode('utf-8')img = utils.img_b64_to_arr(imageData)label_name_to_value = {'_background_': 0}for shape in data['shapes']:label_name = shape['label']if label_name in label_name_to_value:label_value = label_name_to_value[label_name]else:label_value = len(label_name_to_value)label_name_to_value[label_name] = label_value# label_values must be denselabel_values, label_names = [], []for ln, lv in sorted(label_name_to_value.items(), key=lambda x: x[1]):label_values.append(lv)label_names.append(ln)assert label_values == list(range(len(label_values)))lbl = utils.shapes_to_label(img.shape, data['shapes'], label_name_to_value)PIL.Image.fromarray(img).save(osp.join(jpgs_path, count[i].split(".")[0]+'.jpg'))new = np.zeros([np.shape(img)[0],np.shape(img)[1]])for name in label_names:index_json = label_names.index(name)index_all = classes.index(name)new = new + index_all*(np.array(lbl) == index_json)# utils.lblsave(osp.join(pngs_path, count[i].split(".")[0]+'.png'), new)# print('Saved ' + count[i].split(".")[0] + '.jpg and ' + count[i].split(".")[0] + '.png')utils.lblsave(osp.join(pngs_path, count[i].split(".")[0] + '.png'), new)print('Saved ' + count[i].split(".")[0] + '.jpg and ' + count[i].split(".")[0] + '.png')

六、总结

以上就是做图像语义分割,使用labelme打标签的详细教程,希望能帮助到你,谢谢!


http://chatgpt.dhexx.cn/article/aXkV1c5Q.shtml

相关文章

深度学习中常见的打标签工具和数据集资源

深度学习中常见的打标签工具和数据集资源 一、打标签工具1. labelimg/labelme1.1 搭建图片标注环境(win10)(1) 安装anaconda3(2) 在anaconda环境python3下搭建labelImg环境 1.2 打标签1.2 搭建图片标注环境(ubuntu18.04)1.3 快捷键 一、打标签工具 1. l…

自训练数据集打标签注意事项及使用工具推荐

盘点自训练数据集如何打标签! 一、打标签规则 二、推荐工具 使用心得 前言 分享我在训练自己的数据集前期所碰到的一些问题,希望大家能及时避雷! 一、打标签规则 由于我使用YOLOv5模型,查询官方建议以及网上各路大神总结的经…

深度学习中常见的打标签工具和数据集集合

集大家之所长汇集于此,希望对有需要的你能有所帮助。 一、打标签工具 (1)labelimg/labelme 这两款工具简便易行,前者主要用于对目标进行大致的标定,用于常见的框选标定,后者主要用于较为细致的轮廓标定&…

C 语言开发环境

一.环境介绍 1.Mac 平台直接下载苹果商店Xcode,该集成开发工具使用的是clang 开源编译器 2.Windows 可以使用Code Blocks,当初笔者上学时使用的还是非常老旧的VC6.0,尤其是对于变量的定义是非常痛苦的一件事。code blocks 是一个集成开发环境,在安装过…

C语言开发环境,请查收

C语言开发环境的选择, 貌似是告诉我们,工欲善其事,必先利其器。 01、Visual Studio Visual Studio(简称 VS),它是 Windows 下的标准 IDE,VS系列为IDE(集成开发环境)&am…

vs配置C语言环境

vs配置C语言环境 仅仅粗略地记录我在配置过程中踩的坑 首先我是参考这篇博文配置的!VSCode配置C语言环境(完整版)VSCode配置C语言环境(完整版) 但是按照这个配置完毕后,按F5运行时,生成的echo …

Linux下C语言开发环境的搭建

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/liubing8609/article/details/82695528 GCC编译器简明教程(Linux下C语言开发环境的搭…

1-C语言开发环境的搭建

C语言开发环境的搭建 如果您想要进行C语言的开发学习,首要的是先在你的电脑上搭建一个C语言的开发环境。C语言的开发环境主要包括两个部分: 文本编辑器C编译器 文本编辑器 文本编辑器我们有很多选择,最常见的有Windows Notepad&#xff0…

C语言常用开发环境IDE

C语言常用开发环境IDE WindowsMACLinux跨平台Visual Studio CodeCodeBlocksQt 在windows,Mac,Linux等平台分别展开,C语言常用的开发环境IDE,在Windows中有Visual Studio;在Mac中有xcode;在Linux上,有vi,vim等等&#x…

c语言程序运行环境

目录 程序运行环境 翻译环境和执行环境 从源代码到可执行程序的几个阶段 翻译环境的执行中的编译和链接 预编译 编译 汇编 链接 运行环境 程序运行环境 在学习c语言中我们是否有这样的困惑,我们平常写代码,但是我们一开始就会很好奇,…

C语言开发环境搭建过程

标题C语言开发环境搭建过程 前言:C语言是目前嵌入式软件开发的主要语言,学习C语言可以直接面向产品做定制化开发,长远来看,优秀的嵌入式开发人员需要同时具备C开发和python测试的能力,C是一门经久不衰,值得…

VS2019搭建C语言开发环境(图文教程)

来源:微信公众号「编程学习基地」 文章目录 VS2019搭建C语言开发环境环境测试代码 VS2019搭建C语言开发环境 双击VS2019,选择创建新项目 选择项目类型为空项目 搜索框输入空项目进行搜索 或者选择C Windows 控制台找到空项目 输入项目名称&#xff0…

第1章 Window下VSCode的C语言开发环境搭建 (一)

文章目录 文档视频讲解链接地址第01章 开发环境搭建1.1 C语言开发环境搭建1. 常用的C语言开发环境介绍VC 6.0VS 2019ClionDevCvim编辑VSCode 2. Window下VSCode安装和配置C/C环境Visual Studio Code(VSCode)的介绍下载VSCode安装VSCode安装中文插件安装Mingw64 的gcc编译器安装…

c++开发环境安装

目录 1、下载软件 2 安装软件 3、创建项目 4、创建文件 5、编写代码 1、下载软件 1、Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 2、进入Visual Studio 官网后,选择 下载Windows版,并选择Community 2022 社区版本进行下载 3、…

c语言环境搭建(vs)2022版

今天开个新专栏来写c语言的学习笔记正好学校下学期开始教c,现在先讲一下语言的环境搭建 先下载Visual Studio软件官网如下: Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com) 注意选择community版的其他的收费 下载后是个1.2M的…

win10搭建c语言开发环境

win10搭建c语言开发环境 在window10上面用MingW搭建编写C语言的环境1、下载Mingw(下载页面自行搜索),开始安装,安装路径自行选择2、点击‘continue’,出现如下图,3、稍微等待一会,出现如下图界面&#xff1…

VS Code C语言开发环境配置附图版保姆教程

简介 很多博客上都有vscode配置的资料,但是总是不够全面,一些细节没有详细说明,让我这个小白很是头疼,摸索大半天才成功,这篇文章通过整合集装多篇资料加上我自己的经验,给大家一份博客上最最最最详细的VS …

C语言的程序环境

文章目录 一.前言二.编译环境2.1预处理阶段2.2编译阶段2.3汇编阶段2.4链接阶段三.运行环境 一.前言 在ANSI C的任何一种实现中,存在两个不同的环境 1.翻译环境,在这个环境中源代码被转换为可执行的机器指令. 2.执行环境,它用于实际执行代码. …

如何搭建C语言环境

以下文章来源于:公_众_号开源电子网 读取更多技术文章,请扫码关注 如何搭建C语言环境 前言 C语言作为嵌入式开发的必备掌握技能,嵌入式能力的提升速度很大程度在于C语言的掌握能力。正所谓:工欲善其事,必先利其器。…

C语言环境安装

C语言环境安装 1.下载mingw-get-setup.exe安装程序。1.1 官网下载:1.2 百度云地址:1.3 从git下载安装包 2.点击安装开始3.配置环境变量4.测试环境 1.下载mingw-get-setup.exe安装程序。 1.1 官网下载: http://www.mingw.org/ 1.2 百度云地…