1、安装所需的库

2、标注

3、生成标注图像

1、单文件json格式转化为png格式
            (1)找到labelme安装目录中的Scripts,找到应用程序labelme_json_to_dataset.exe,将此应用程序复制到json文件所在目录

(2)进入anaconda命令行,进入labelme所在环境,cd到包含json文件和应用程序labelme_json_to_dataset.exe的文件夹所在目录,输入指令

labelme_json_to_dataset E:\jjj #包含json文件和应用程序labelme_json_to_dataset.exe的文件夹所处目录

即可得到一个文件夹,位于jjj文件夹所在目录,文件夹里有四个文件:

  • img.png,源文件图像
  • label.png,标签图像
  • label_names.txt,标签中的各个类别的名称
  • label_viz.png,源文件与标签融合文件

2、json格式批量转换为png格式

(1)找到labelme安装目录下Lib\site-packages\labelme\cli可以看到json_to_dataset.py文件,替换其中的代码(替换代码如下)。

import argparse
import json
import os
import os.path as osp
import warningsimport PIL.Image
import yamlfrom labelme import utils
import base64def main():warnings.warn("This script is aimed to demonstrate how to convert the\n""JSON file to a single image dataset, and not to handle\n""multiple JSON files to generate a real-use dataset.")parser = argparse.ArgumentParser()parser.add_argument('json_file')parser.add_argument('-o', '--out', default=None)args = parser.parse_args()json_file = args.json_fileif args.out is None:out_dir = osp.basename(json_file).replace('.', '_')out_dir = osp.join(osp.dirname(json_file), out_dir)else:out_dir = args.outif not osp.exists(out_dir):os.mkdir(out_dir)count = os.listdir(json_file) for i in range(0, len(count)):path = os.path.join(json_file, count[i])if os.path.isfile(path):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)captions = ['{}: {}'.format(lv, ln)for ln, lv in label_name_to_value.items()]lbl_viz = utils.draw_label(lbl, img, captions)out_dir = osp.basename(count[i]).replace('.', '_')out_dir = osp.join(osp.dirname(count[i]), out_dir)if not osp.exists(out_dir):os.mkdir(out_dir)PIL.Image.fromarray(img).save(osp.join(out_dir, 'img.png'))#PIL.Image.fromarray(lbl).save(osp.join(out_dir, 'label.png'))utils.lblsave(osp.join(out_dir, 'label.png'), lbl)PIL.Image.fromarray(lbl_viz).save(osp.join(out_dir, 'label_viz.png'))with open(osp.join(out_dir, 'label_names.txt'), 'w') as f:for lbl_name in label_names:f.write(lbl_name + '\n')warnings.warn('info.yaml is being replaced by label_names.txt')info = dict(label_names=label_names)with open(osp.join(out_dir, 'info.yaml'), 'w') as f:yaml.safe_dump(info, f, default_flow_style=False)print('Saved to: %s' % out_dir)
if __name__ == '__main__':main()

(2)进入labelme虚拟环境,cd到应用程序labelme_json_to_dataset.exe所处路径(Scripts目录下),输入指令

labelme_json_to_dataset.exe D:\workplace\labelme\c062~c066\json #json文件夹所处目录

即可得到转换文件,储存在Scripts目录内(labelme版本需要降低到3.16.2否则转换不成功,方法:uninstall原来版本,pip install labelme==3.16.2)。

Labelme对图像标注、json转化png格式相关推荐

  1. 将单张图像的json转化成图片

    ''' 将单张图像的json转化成图片 ''' import json import re import cv2 import numpy as npdef toRgb(tmp):opt = re.f ...

  2. labelme生成的标注数据转换成yolov5格式

    本文中的代码旨在一键生成yolov5数据集的格式 使用labelme标注的json数据会生成在标注时图像文件所在的路径下,数据形式大概是这样的: json文件和图像数据同名. 而yolov5实际训练时 ...

  3. labelme标记图像时JSON标签复制

    我这次的项目收集到的数据集是固定摄像头在不同时候拍摄的照片,场景变化不大,主要检测物也变化不大,除了刮风和植被生长会影响标记轮廓.几百张图片手工标记会有很多重复工作,而且图片像素也没有发生改变,那我们 ...

  4. 论文梳理(图像标注)

    自动图像标注总述: 是图像语义理解的热点,是 无标注图像内容的语义关键词 属于图像检索领域,是图像 语义检索(相当成熟 )关键 涉及计算机视觉,机器学习,信息检索 总实现思路:用(已标注图像集)或 关 ...

  5. 很好很强大,这款AI开发神器的图像标注吊打labelme

    AI的发展有三大内核:数据.算法.算力.现如今,算法和算力在市面上的差距显然已经没有那么大,能够给AI提供充足弹药支持的当属数据了.深度学习算法精度的提升严重依赖于数据,谁的数据既多又准,谁的算法精度 ...

  6. LabelMe标记后的json文件怎么转为COCO格式

    LabelMe标记后的json文件怎么转为COCO格式 步骤如下: Step 1: 下载labelme ,链接为https://github.com/wkentaro/labelme Step 2: ...

  7. 深度学习图像标注工具labelme

    来源:极客Merry 前言 在深度学习中若是没有带标注的数据,这可能会阻碍研究的进展,所以深度学习第一步就是制作数据集,手动去标注一些数据.LabelMe就是这样一个在线的图像数据标注工具: Labe ...

  8. Yolo v5的txt标注文件转为coco格式的json标注文件

    社区上将coco数据集格式的json标注文件转为yolo的txt格式的文章较多,但是如何将txt转为json博主并没有发现.这篇文章就给大家提供一个很方便的小脚本,实现这个功能. 需要注意的是,如果直 ...

  9. labelme画出的标注json转换成二值标签图,并解决label全黑问题

    1.打开anaconda,进入labelme,进入存放json文件的文件夹 2.在anaconda输入: labelme_json_to_dataset <文件名>.json 3.自动完成 ...

  10. 自制图像标注软件 —— 支持mask-rcnn等算法

    对于计算机视觉研究者来说,图像标注是一项基础但繁重的工作.有一个便捷好用的标注软件可以提高标注效率. 先灌水: 目前尝试了比较普遍的标注工具: (1)labelme 参考:https://blog.c ...

最新文章

  1. C语言中,#include 和#include 的区别和注意点
  2. 小学生学python到底能干什么-小学生都学Python了,你还没用万矿?
  3. AS3.0中is,as运算符
  4. web dynpro配置注意事项
  5. 最简单的视音频播放示例9:SDL2播放PCM
  6. centos7 nginx yum 配置
  7. php遍历视频文件,php使用glob函数遍历文件和目录详解
  8. hdoj2553(N皇后问题)
  9. 关于Jeecg互联网化dubbo改造方案(上)
  10. 企业网络管理员如何有效封杀QQ
  11. 日久见人心,以小见大
  12. 学生管理系统(JAVA后台简约版)
  13. idea 快捷键大全(全网最详细)
  14. tcl语言读取文件一行_TCL语言笔记:TCL基础语法
  15. FFT蝶形算法的verilog实现专题——基-4 频率抽取FFT算法matlab实现
  16. HP-Socket通信框架使用入门
  17. 九宫格拼图 | 8Puzzle | C/C++实现
  18. 2019信用卡权益总结之十三:延误险
  19. 小米mix2android o升级,小米MIX2升级Android 8.0 全面屏手势操作将一同推送
  20. VMware克隆虚拟机镜像、导入镜像,图文教程

热门文章

  1. 论文阅读:Instance Weighting in Dialogue Systems
  2. sprintboot验证码kaptcha 自定义图片样式
  3. MATLAB泰勒展开lnx,lnx泰勒展开公式形式,lnx泰勒展开式怎么展开,sinx泰勒展开
  4. AcWing237. 程序自动分析
  5. iOS开发:Mach-O入门理解
  6. QT 简单实现自定义标题栏
  7. Let's talk OOP Again
  8. 经典网页设计:20个优秀的电子商务网站设计案例
  9. 如何做好电商平台的内容运营?
  10. viper4android 2.1,viper4android fx 2.2.1.1 调解