labelme标注文件转化为图片python脚本(多类别数据)

主要针对多类别数据进行转化,需要保证每个图片上的类别一致,如果每个图片的类别不一致会出现标签混乱的情况。

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
@Project :unet
@File    :labelme2seg.py
@Author  :ChenmingSong
@Date    :2022/2/13 16:24
@Description:
'''

from __future__ import print_function
import argparse
import glob
import math
import json
import os
import os.path as osp
import shutil
import numpy as np
import PIL.Image
import PIL.ImageDraw
import cv2

#

def json2png(json_folder, 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:
        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, 0
05-20
### Labelme 工具的安装与使用指南 #### 一、Labelme 的简介 Labelme 是一款功能强大的图像标注工具,支持多种标注模式,包括矩形框、多边形、线条和点等。它适用于语义分割、实例分割以及其他计算机视觉任务中的数据准备阶段。 --- #### 二、Labelme 的安装方法 以下是几种常见的 Labelme 安装方式: 1. **基于 Ubuntu 系统的安装** 在 Ubuntu 环境下,可以通过以下命令之一来安装 Labelme: ```bash sudo apt-get install labelme ``` 或者通过 Python 的包管理器 `pip` 来安装: ```bash sudo pip3 install labelme ``` 如果希望使用独立可执行版本,则可以从官方 GitHub 发布页面下载预编译好的二进制文件[^1]: - 下载地址:https://github.com/wkentaro/labelme/releases 2. **Windows 系统上的安装** 对于 Windows 用户,推荐使用 Anaconda 创建虚拟环境并安装 Labelme。具体步骤如下: - 打开 Anaconda Prompt 并创建一个新的 Conda 虚拟环境: ```bash conda create -n labelme_env python=3.8 conda activate labelme_env ``` - 接着,在激活的环境中运行以下命令以安装 Labelme: ```bash pip install labelme ``` 更详细的安装指导可以参考小白快速上手教程[^3]。 --- #### 三、Labelme 的基本使用流程 为了高效利用 Labelme 进行图像标注,通常需要遵循以下几个核心环节: 1. **准备工作** 需要先准备好待标注数据集,并将其存放在指定路径中。一般情况下,会涉及以下三个子目录结构的构建: - ImageSets 文件夹用于存储索引列表; - JPEGImages 存放原始图片; - SegmentationClass 则保存对应的标签掩码信息。 2. **启动 Labelme GUI 应用** 成功安装后,可以直接在终端输入以下指令启动图形界面应用: ```bash labelme ``` 3. **导出标注结果** 当完成一系列图像的手动标记之后,可能还需要进一步处理这些标注成果以便后续训练模型之需。例如,如果目标框架接受的是 COCO 数据格式而非原生 JSON 形式的话,那么就需要借助额外脚本来实现转换操作。此时就可以运用到前面提到过的两个实用转化工具——`labelme2coco.py` 和 `labelme2voc.py`[^2]。 4. **自动化批量转换** 假设已经获取到了由 Labelme 输出的一组标准 JSON 文件集合,现在想要把它们全部转变为适配特定深度学习库所需的另一种通用表达形式(比如 MS-COCO),则只需按照下面给出的例子调用相应函数即可达成目的[^4]: ```python import argparse from labelme2coco import get_coco_from_labelme_json parser = argparse.ArgumentParser(description="Convert Labelme to Coco format.") parser.add_argument("--input_dir", help="Path where the input json files are located.", required=True) parser.add_argument("--output_path", help="Filepath of output coco file.", default="./annotations.json") args = parser.parse_args() # Convert and save as a new .json file. get_coco_from_labelme_json(args.input_dir, args.output_path) ``` --- #### 四、常见问题解答 - Q: 如何解决无法正常加载插件的问题? A: 可能是因为缺少某些依赖项或者版本冲突引起的错误;建议重新审视整个安装过程,确保每一步都严格按照文档说明执行完毕后再试一次。 - Q: 是否存在其他类似的替代品可供选择呢? A: 类似的工具有很多种,像 VGG Image Annotator(VIA),RectLabel For Mac OS X ,MakeSense.ai 等都是不错的选择方案,可以根据个人喜好挑选最适合自己的那款产品去尝试一下吧! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

肆十二

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

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

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

打赏作者

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

抵扣说明:

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

余额充值