labelme批量制作数据集教程

作者:神秘网友 发布时间:2020-10-31 22:06:56

labelme批量制作数据集教程

labelme批量制作数据集教程

labelme数据标注及json标签文件批量处理


文章目录

  • labelme数据标注及json标签文件批量处理
  • 前言
  • 一、Labelme安装
    • 1. windows
    • 2. Ubuntu
  • 二、Labelme制备分割数据集
    • 1. 启动
    • 2. 数据标注
  • 三、labelme标签批量转换
    • 1. 单张图片转换
    • 2. 多张图片批量转换
    • 3. 标注图片提取


前言

最近在学习图像语义分割,需要制作自己的数据集,用到labelImg进行标注,这里将整个过程记录下来。

一、Labelme安装

第一步就是需要安装labelme

# python3
conda create --name=labelme python=3.6
activate labelme
pip install pyqt5
pip install labelme

说明:
也可以不创建虚拟环境,直接pip install labelme安装
虚拟环境只是便于管理,即使出现什么错误,也不至于把本地环境弄蹦

# Python3
sudo apt-get install python3-pyqt5  # PyQt5
sudo pip3 install labelme

二、Labelme制备分割数据集

说明:

  1. 在cmd中输入activate labelme激活labelme环境。
  2. 在激活环境中输入labelme即可打开labelme界面。
  3. 退出输入deactivate即可。

打开界面如下:
labelme批量制作数据集教程

点击open dir,选择标注文件所在的文件夹,会导入文件内所有图片,如下图
labelme批量制作数据集教程
然后开始标注:点击左下角的CreatePolygons,单击鼠标左键添加多边形顶点,Ctrl+Z撤销上一个顶点,最后点击起始点完成多边形的选择,弹出命名框。同一类下有多个实体对象时,如城区对象时,用City1,City2区分,Ctrl+S保存生成json文件,同时右下角文件目录下该图像前打钩显示已标注,如下图所示:
labelme批量制作数据集教程
标注完成后,会生成一个json文件。


三、labelme标签批量转换

json文件需要转换成png文件,基本转换方法是在安装了labelme的环境下,输入下面的代码:

labelme_json_to_dataset E:\test\image\001.json

在001.json所在文件夹内,会生成一个001_json的文件夹,里面有5个文件,其中的label.png为所要的分割掩膜,新版本的labelme没有.yaml文件

但是当数据文件很多时,需要批量处理的方法

bat脚本循环法:

@echo off
for %%i in (*.json)  do labelme_json_to_dataset %%i
pause

新建一个txt文件,把这个复制进去,然后改名为test.bat,和要转换的文件放在一起。然后在激活相应环境下,进入所在文件目录,命令行输入test.bat就可以了。

生成的label图片均在文件中,且图片名均是label.png,所以需要批量提取label.png,其他4个文件没有用,代码如下

# 将标签图从json文件中批量取出
import os
import shutil

path = 'D:/LCI/'
dirpath = 'D:/annotations/LCI/'

for eachfile in os.listdir(path):
    if os.path.isdir(path + eachfile):
        if os.path.exists(path + eachfile + '/label.png'):
            shutil.copy(path + eachfile + '/label.png', dirpath + eachfile.split('_')[0] + '.png')
            print(eachfile + ' successfully moved')

使用时,只需将path和dirpath修改为你自己的路径即可。

labelme批量制作数据集教程相关教程

  1. 2020最新用swiper制作轮播图?

    2020最新用swiper制作轮播图? /* 轮播图插件: 下载轮播图插件(不要下载最高版本的,因为高版本的使用的是swiper4文档) npm install [emailprotected] vue-awesome-swiper文档:https://github.com/surmon-china/vue-awesome-swiper https://blog.csdn.net/q

  2. 如何批量发送邮件?小白问百度,大神秀操作,网友惊呼:666

    如何批量发送邮件?小白问百度,大神秀操作,网友惊呼:666 用Python发邮件有哪些优势? 批量发送邮件,并且各邮件可以不同 高度自定义的定时发送 更有效地管理收件箱 基本概念 有关邮件的基本概念,可以查看下图 代码操作前的配置 以 网易163邮箱 为例,邮箱

  3. 基于arcgis的遥感影像标签制作(目标检测)

    基于arcgis的遥感影像标签制作(目标检测) 文章目录 1. 在arcgis中新建线矢量 2. 检测框绘制 3. 检测框坐标转换(线矢量) 4. 检测框坐标转换(面矢量) 1. 在arcgis中新建线矢量 新建线矢量,添加空间参考,例如wgs_1984。 2. 检测框绘制 3. 检测框坐标转换

  4. Vue进阶知识(三)------制作商城TabBar

    Vue进阶知识(三)------制作商城TabBar 目录 一、思路 二、App.vue 三、TabBar 四、TabBarIterm 一、思路 步骤: 骨架:在app.vue的根组件构建基本的html,添加CSS构建基本的显示效果 抽离:根据上一步的代码膨胀量,抽取相应功能模块到子组件中,根组件只保

  5. 快递鸟批量打印C-Lodop打印机无法调起本地打印机

    快递鸟批量打印C-Lodop打印机无法调起本地打印机 起因:客户因更换电脑导致发货系统无法调起打印机。 排查:接口和批量发货都是基于快递鸟实现的,快递鸟官网上面下载了批量打印控件,查找了相关资料,应该是控件装上就行了,但是装上后在测试页面打印是可以

  6. 动画课件软件制作有哪些不同寻常的特性

    动画课件软件制作有哪些不同寻常的特性 **动画课件软件制作有哪些不同寻常的特性**在网上课程课堂教学、教学直播、信息化教学的营销推广中,动画课件制做愈来愈遭受老师的亲睐。由于教学课件动漫有其与众不同的方法,与PPT教学课件对比,动画课件能够让学员致

  7. QT制作动画收缩效果

    QT制作动画收缩效果 制作动画效果需要用到QT的动画类:QPropertyAnimation 这个类有很多的动画效果,我只展示其中的一种,可以打开Qt的帮助文档看: 我就是用了上面的例子实现了这个收缩的功能。其实说白了收缩窗体,无非是让窗体从能看得见的地方移动到看不

  8. 逆向之制作扫雷外挂——003

    逆向之制作扫雷外挂——003 本次扫雷外挂制作 涉及工具,VS2017、OD、Dbgview、CE。 至于扫雷程序,网上下的117kb 的那个。 外挂功能:一键通关、左上角窗口标题处显示雷区。 效果展示: 下面开始记录从头到尾的逆向与编写外挂过程 1.寻找关键数据基址 首先用