labelme指定输出文件夹 批量json转png --图像分割数据集准备

从零构建Mask数据集:手把手教你用Labelme完成标注与转换 本文手把手教你使用Labelme工具从零构建自定义Mask数据集,涵盖安装、高效标注技巧及JSON文件结构解析。重点详解如何通过Python脚本将Labelme生成的JSON标注文件批量转换为模型训练所需的Mask图像,并提供多分类、实例分割处理方案及常见问题排查指南,助你快速创建高质量的图像分割数据。 阅读详情

用labelme标注之后,导出的是json文件,我们可用labelme自带的json_to_datase.py来把json转为png图片

假如我的json文件名为event_172.json
在这里插入图片描述
转成的是一个文件夹
在这里插入图片描述
文件夹有如下文件,其中label.png是我想要的mask图片
在这里插入图片描述
现在想批量把json文件夹下所有的json文件都统一转为对应名称的png(比如172.json转为172.png),并保存到我指定的输出文件夹下

步骤如下:

找到 labelme自带的json_to_dataset.py
可用conda env list命令找到当前labelme环境所在的文件夹
在环境文件夹下到
在这里插入图片描述
把json_to_dataset.py的代码拷到其他py文件里(最好不要修改原文件),并修改如下
因为这里我只要mask的图片,所以只输出一个png

ps: 代码基本没修改,只加了一个file的循环,注释掉了不需要的输出

运行结果:在mask文件夹下输出了对应名称的png图片

#import argparse
import base64
import json
import os
import os.path as osp

#import imgviz
#import PIL.Image

#from labelme.logger import logger
from labelme import utils


def main():
    # logger.warning(
    #     "This script is aimed to demonstrate how to convert the "
    #     "JSON file to a single image dataset."
    # )
    # logger.warning(
    #     "It won't handle multiple JSON files to generate a "
    #     "real-use dataset."
    # )
    json_folder = "./json"
    out_dir = "./mask"
    if not osp.exists(out_dir):
        os.mkdir(out_dir)

    json_list = os.listdir(json_folder)
    for i in range(0, len(json_list)):
        json_file = os.path.join(json_folder, json_list[i])
        out_name = json_list[i][:-5]
        data = json.load(open(json_file))
        imageData = data.get("imageData")

        if not imageData:
            imagePath = os.path.join(os.path.dirname(json_file), 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 sorted(data["shapes"], key=lambda x: x["label"]):
            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
        lbl, _ = utils.shapes_to_label(
            img.shape, data["shapes"], label_name_to_value
        )

        label_names = [None] * (max(label_name_to_value.values()) + 1)
        for name, value in label_name_to_value.items():
            label_names[value] = name

        # lbl_viz = imgviz.label2rgb(
        #     label=lbl, img=imgviz.asgray(img), label_names=label_names, loc="rb"
        # )

        #PIL.Image.fromarray(img).save(osp.join(out_dir, "img.png"))
        utils.lblsave(osp.join(out_dir, out_name+".png"), lbl)
        #PIL.Image.fromarray(lbl_viz).save(osp.join(out_dir, "label_viz.png"))


        #logger.info("Saved to: {}".format(out_dir))


if __name__ == "__main__":
    main()
从零到一:手把手教你用Labelme构建高质量图像数据集 本文是一份详细的Labelme图像标注工具教程,指导读者从零开始构建高质量的深度学习图像数据集。内容涵盖Windows、Linux和macOS系统的环境安装与配置,并深入解析了Labelme的核心功能与界面操作。通过实战演练,演示了如何为图像批量添加分类标签以及进行精细的图像分割掩膜标注。文章还详细介绍了如何将Labelme生成的JSON标注文件转换为模型训练所需的通用格式,如分割掩膜PNG、PASCAL VOC及COCO格式,并分享了提升标注效率与项目管理的心得技巧。 阅读详情

相关推荐

从零开始:使用Labelme完成图像语义分割标注全流程

本文详细介绍了如何使用Labelme工具完成图像语义分割标注的全流程,从环境安装、数据准备到核心标注操作,并重点讲解了如何将标注结果转换为PASCAL VOC等深度学习框架可用的标准数据集格式。文章还提供了关键的避坑指南和高效技巧,帮助初学者快速上手,高效产出高质量的标注数据。

weixin_29073241的博客 491

亲测可用,Labelme通过生成的json文件批量生成label,并将label图片批量提取出来(语义分割,实例分割都可)

1、首先是labelme的安装使用,可以参考下面这个链接就行,网上也有超级多教程,自己搜一下即可。个人认为这个写的还比较详细: https://blog.youkuaiyun.com/weixin_44021446/article/details/107283615 2、进行标注并生成对应的json文件如下: 3、要将这些json文件提取出来我们的标记影像,需要用到一个叫 labelme_json_to_dataset.exe的程序,他的位置在这里 C:\Users\yinmo\Anaconda3\envs\labe

Wddym的博客 3755

HarmonyOS逆向降级实战:从鸿蒙2.0回退至EMUI 10.1的完整路径解析

本文详细解析了从HarmonyOS 2.0逆向降级至EMUI 10.1的完整操作流程,涵盖必备工具准备、数据备份策略及阶梯式降级步骤。针对华为手机用户遇到的兼容性问题,提供HiSuite和HiSuite Proxy工具的具体使用方法,并分享降级失败应急处理与系统优化技巧,帮助用户安全高效完成系统回退。

weixin_27741699的博客 1883

批量转换labelme标注json数据为图片

为了实现批量将 labelme 工具标注的数据转换为图像,本文的代码通过循环调用 labelme 库中原有的 labelme_json_to_dataset 方法,转换指定文件夹中的所有 json 文件,并抽取对应图片至各自文件夹。此外,还介绍了如何修改标签在图像中的颜色的方法。

里先森 7752

从SC7A20数据手册到代码:一步步搞定加速度值读取与换算(避坑指南)

本文详细解析了SC7A20三轴加速度传感器的数据手册,从寄存器配置到原始数据读取,再到加速度值的换算方法。通过代码示例和避坑指南,帮助开发者准确实现加速度值的读取与换算,适用于嵌入式开发和运动检测应用。

weixin_26878995的博客 582

Python+Vue计算机毕业设计风电场监控系统的设计与实现7bd6i(程序+LW+源码+部署)

Python3.7.7+Django+Mysql5.7+pip list+HBuilderX(Vscode也行)+Vue+Pychram社区版。2. 前端:vue+css+javascript+jQuery+easyUI+highcharts。2.IDE环境:Python和Python 社区版都可以。Django + Vue +Python+Mysql 等等组成,B/S模式等等。该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。1. 后端:Python、Vue、Django、Mysql。

华信计算机毕设源码程序 340

240718_使用Labelme制作自己的图像分割数据集

从目标检测入门的朋友们可能更熟悉的是LabelImg,这里要注意做好区分,LabelImg和Labelme不是一个东西,如下经典图:(a)图像分类(目标检测):一张图像中是否含某种物体(b)物体定位(目标检测与目标识别):确定目标位置和所属类别。(c)语义分割(目标分割和目标分类):对图像进行像素级分类,预测每个像素属于的类别,不区分个体;(所有的CUBE一个颜色)(d)实例分割(目标分割和目标识别):定位图中每个物体,并进行像素级标注,区分不同个体;(CUBE都是不同颜色)

weixin_66378701的博客 2205

【实战】——零代码玩转Supervisely人像分割:从标注到模型训练的数据流水线搭建

本文详细介绍了如何零代码使用Supervisely平台搭建人像分割数据流水线,从智能标注到数据集格式转换,再到模型训练与优化。Supervisely的智能标注工具和协作功能大幅提升了人像分割项目的效率,特别适合视频会议背景虚化、虚拟试衣等应用场景。

weixin_30694389的博客 413

「解析」labelme 的json文件批量转化

相信大家在使用 labelme 标注数据之后,都需要将 json文件 转换为对应的标签图,但是每次一张一张转换,费时又费力,特别是转换后还需要再将 标签图修改名字,然后再移动到特定的文件夹,就又增添了不少工作量,作者也是深受其累。作为一名开发人员,怎么可以让这点问题难住呢,自然是让程序自动处理,而我们应该是 在旁刷抖音才对 🤓️🤓️🤓️ 此外,对于labelme 每次标注的时候,需要加载 图片文件地址,设置自动保存等等操作,作者已经在 labelme 如何硬核加载 labels.txt 中教大家如何一次性

绿色羽毛 4620

《QT+PCL》点云配准进阶——GROR配准

GROR点云配准

阁楼 1317

华为od 面试八股文_数据库_01_含答案

华为od 面试八股文_数据库_01_含答案

MISAYAONE的博客 2160

labelme生成的json文件转换png图片

1、在labelme的安装目录下,\绿色部分\Lib\site-packages\labelme\cli找不到的可以win+r 输入where labelme,找到labelme.exe位置。如下图绿色部分就能找到前面的位置(不知道怎么描述了)。2、在这里输入cmd回车出现下面图片。然后如果你的labelme是安装在conda环境中的,需要激活进入(activate 环境名)环境。3、输入python json_to_dataset.py -o 红色 绿色。

mengmengc的博客 1758

飞牛fnNAS同步微信微信聊天记录

微信聊天记录如何备份到NAS?本文介绍了利用NAS虚拟机和同步工具实现微信记录自动备份的方法。通过在NAS上搭建"云电脑"长期运行微信PC端,并配置微力同步将聊天记录文件夹自动同步到NAS存储,解决了传统电脑备份的安全性问题。操作步骤包括:1)在NAS上安装虚拟机系统;2)登录微信PC端并同步手机记录;3)配置同步工具将微信记录文件夹同步到NAS。该方法尤其适合不常使用PC微信的用户,可实现记录永久保存和远程查看,更换手机时也能快速恢复历史记录。

dgnankai的专栏 4297

图像分割josn文件生成png并批量移动到指定文件夹

在进行图像分割的时候,我们常常要用到labelme去做标签。标记后的json文件无法直接用于训练,将其转化为png文件并批量移动到指定文件夹,用于模型训练。

m0_57638361的博客 1704

从 ST22 到根因定位:ABAP Dumps 全景排查指南(含典型 Dump 案例、修复套路与云时代实践)

本文系统介绍了SAP系统中ABAP短转储(Dump)的分析方法。首先指出短转储是程序运行时无法处理的错误导致系统强制终止执行。文章详细解析了短转储报告各区块的作用:从概述性的Short Text和What happened,到核心的Error Analysis和Source Code Extract,再到关键的系统字段Contents of system fields和调用栈Active Calls/Events。针对不同场景提供了排查建议:客户代码应建立可控边界,标准对象优先查阅SAP Notes。最后推

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 482

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

json文件转png图片(批量转换/图片命名/迁移/改像素值)【tips】

一.代码 准备:含有众多json文件的文件夹 使用:代码中json_folder处写json文件夹地址(‘/’符号注意保留),png_folder处写png文件夹地址。 效果:json_folder文件夹包含批量生成的json文件夹,内部少了label.png图片,png_folder文件夹包含命名/改完像素(指改成单通道灰度图,像素值只有255和0)的png文件。 import os import shutil import numpy as np import cv2 from PIL im.

记录/交流,加油啊呀... 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Labelme 3.16.7 数据标注实战:从安装到批量JSON转PNG的完整避坑指南

本文提供Labelme 3.16.7从安装到实战的完整指南。详细讲解了在PyCharm中创建虚拟环境、高效标注技巧、自定义掩码颜色,并重点提供了健壮的Python脚本实现批量JSON转PNG,解决路径、中文支持等常见问题,帮助用户构建自动化数据标注流水线。

fox11的博客 992

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Labelme标注工具实战:5步搞定VOC格式图像分割数据集(附完整代码)

本文详细介绍了如何使用Labelme标注工具,通过5个关键步骤高效构建VOC格式的图像分割数据集。内容涵盖从环境搭建、标注策略、核心格式转换脚本编写,到数据集划分与最终可视化验证的全流程,并提供了完整的代码示例,帮助读者快速创建可用于模型训练的高质量数据集。

tech5的博客 1002

如何下载安装以及使用labelme,一个可以打标签的工具,实现数据集处理,详细教程

📌 Labelme安装与使用指南摘要 安装步骤: 通过Anaconda创建独立Python环境(建议Python 3.6-3.8) 激活环境后安装PyQt5和Labelme 输入labelme验证安装成功 标注流程: 加载图片后使用多边形工具描点标注 保存为JSON文件,可通过命令转换为训练可用格式(如PNG标签图) 支持批量转换和带洞目标标注 实用技巧: 预先统一标签名称规范 使用Edit Polygons微调点位 Windows用户需修改源码解决中文乱码问题 最终生成包含原始图、标签图和类别列表的标准

qq_44050612的博客 1672

告别重复劳动!3分钟用Labelme批量导出标注图片(Windows/Mac通用)

本文针对Labelme标注效率低下的痛点,提供了一套跨平台的批量转换脚本解决方案。该脚本能自动遍历并处理文件夹内所有JSON文件,将其高效转换为PNG等标准格式,支持多线程并发,大幅提升AI数据预处理效率,实现从标注到训练数据的快速流水线。

c2d3e4f的博客 1091

Unet(三)_语义分割数据集准备

Unet(三)_语义分割数据集准备

weixin_48870215的博客 1256

从零开始:labelme与labelimg的安装、使用及JSON到PNG的高效转换指南

本文提供了一份从零开始的详细指南,涵盖labelme和labelimg两大主流图像标注工具的安装、核心使用技巧及高效工作流。重点讲解了如何利用Anaconda创建独立环境,并通过实战脚本实现JSON到PNG格式的高效转换,打通计算机视觉项目数据准备的完整链路。

brandy的博客 208

从零开始:labelme与labelimg的安装、使用及JSON到PNG的实战转换指南

本文提供了一份从零开始的详细指南,手把手教你安装和使用labelme与labelimg这两款主流的图像标注工具。内容涵盖Anaconda环境搭建、工具安装避坑、核心功能与高效标注技巧,并重点解析了如何将labelme生成的JSON标注文件转换为模型训练所需的PNG掩码图,打通计算机视觉项目数据准备的关键环节。

weixin_28273593的博客 100

从零构建图像分割数据集:VOC与CitySpace格式实战指南

本文详细介绍了如何从零构建图像分割数据集,重点解析VOC与CitySpace格式的实战应用。通过标注工具选择、格式转换技巧和数据集划分策略,帮助开发者高效创建符合项目需求的图像分割数据集,提升AI模型训练效果。

weixin_30825581的博客 449

Labelme2YOLO:轻松实现标注格式转换,加速计算机视觉项目开发

还在为LabelMe标注数据无法直接在YOLO模型中使用而烦恼吗?您是否曾经花费大量时间手动处理标注格式转换?今天,我们将介绍一个能够彻底解决这一痛点的开源工具——Labelme2YOLO。这个工具专门帮助您将LabelMe标注工具的JSON格式轻松转换为YOLO文本文件格式,让您的计算机视觉项目开发效率提升数倍。 ## 痛点分析:为什么我们需要标注格式转换工具? 在计算机视觉项目中,数据标注

gitblog_01180的博客 1007

deeplabv3-plus-pytorch数据集准备全攻略:VOC格式标注与转换技巧

deeplabv3-plus-pytorch是一个基于PyTorch实现的深度学习语义分割项目,能够帮助开发者训练自己的图像分割模型。本文将详细介绍如何准备符合VOC格式的数据集,包括数据标注、格式转换和数据集划分的完整流程,让新手也能轻松上手语义分割模型训练。 ## 语义分割数据集基础认知 🧩 语义分割任务需要成对的输入图像和标签图像,其中标签图像的每个像素都对应输入图像中该位置的类别。在

gitblog_00426的博客 940
上一篇: betterFlow DVS运动补偿源码解析
下一篇: 在外企做开发的一段经历
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值