labelme标注及标签的统一

本文介绍了使用labelme进行语义分割数据集标注的步骤,包括安装、打开软件、标注操作以及标注文件的json到png转换。在转换过程中,遇到同一类别标签颜色不一致的问题,通过修改labelme的json_to_dataset.py源码,实现标签颜色的统一,确保深度学习网络能够正确学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语义分割数据集的标注
这里使用的是labelme语义分割软件。
安装直接使用指令:
pip install labelme
安装完成后,输入指令:labelme,即可打开软件,软件界面如下图所示:

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

打开软件之后一般需要做3项工作:
(1) 打开数据集存放的文件夹。
(2) 修改标注生成文件的存放位置,并取消在数据集的文件夹内保存标注的生成文件。此外,还需要选择自动保存功能。
(3) 选择标注的形式,一般选择多边形框进行标注。
标注中使用的快捷键:
A:上一张图像
W:下一张图像

标注完成后,生成的文件类型为:json文件,如图所示:
在这里插入图片描述
json文件可以使用记事本软件打开,打开后如下图所示:
在这里插入图片描述

在获得json文件后,需要制作标签信息。执行以下代码进行转换:

# 在cmd中运行代码:python json2png.py <json文件夹>,单独运行这个文件会报错
import os
import os.path as osp
import cv2
import shutil
import numpy as np
from PIL import Image

def json2png(json_folder, png_save_folder):
    #osp.isdir(png_save_folder)用于判断参数是否为目录。
    if osp.isdir(png_save_folder):
        #递归删除整个文件夹下所有文件,包括此文件夹;
        shutil.rmtree(png_save_folder)
    # 递归创建文件夹;
    os.makedirs(png_save_folder)
    #返回指定路径下的文件和文件夹列表。
    json_files = os.listdir(json_folder)
    for json_file in json_files:
        print(json_file)
        json_path = osp.join(json_folder, json_file)
        os.system("labelme_json_to_dataset {}".format(json_path))
        label_path = osp.join(json_folder, json_file.split(".")[0] + "_json/label.png")

        png_save_path = osp.join(png_save_folder, json_file.split(".")[0] + ".png")
        label_png = cv2.imread(label_path, 1)

        # gray_img = cv2.cvtColor(label_png, cv2.COLOR_RGB2GRAY)
        # imginfo=label_png.shape
        # print(imginfo)
        # height=imginfo
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值