0 引言

笔者近期在利用基于深度学习的语义分割相关技术完成公司交代的任务,由于硕士阶段研究方向并非图像语义分割,因此对该领域并不熟悉,几经周折,总算找到了对应的解决办法。这里分享笔者最近正在使用的用于语义分割训练数据的标注工具,labelme的安装及使用方法,后期会继续分享相关的算法。

1 安装

打开Anconda Prompt,分别采用以下命令进行安装。(笔者python版本为python3.6,)

conda create --name=labelme python=3.6
source activate labelme
conda install pyqt
pip install labelme

2 使用

(1)安装成功后,打开labelme工具

(2)点击Create Polygons即可进行标注。标注线可以鼠标右键选择直线、圆形、长方形

(3) 解析json文件生成ground truth。python提供的命令只能解析单个文件,笔者代码能够批量解析

import os
import cv2def json_to_image(path):# path = 'H:\\0\\train\\json'  # path为json文件存放的路径json_file = os.listdir(path)for file in json_file:print(file)os.system("python D:/software/Anaconda3/Scripts/labelme_json_to_dataset.exe %s"%(path + '\\' + file))

(4)解析效果展示

(5)整理img和label图到对于文件夹

import os
import cv2def order_img_and_label(source_path,save_image_path,save_gt_path):if not os.path.exists(save_image_path):os.makedirs(save_image_path)if not os.path.exists(save_gt_path):os.makedirs(save_gt_path)label_dirs = os.listdir(source_path)for dir in label_dirs:if os.path.isdir(os.path.join(source_path,dir)):print(dir)for file in os.listdir(os.path.join(source_path,dir)):# print(file)if file == 'img.png':print(file)os.rename(os.path.join(os.path.join(source_path,dir),file),os.path.join(save_image_path,dir+'.png'))if file == 'label.png':print(file)os.rename(os.path.join(os.path.join(source_path, dir), file), os.path.join(save_gt_path, dir + '.png'))

3 完整代码

import os
import cv2def json_to_image(path):# path = 'H:\\0\\train\\json'  # path为json文件存放的路径json_file = os.listdir(path)for file in json_file:print(file)os.system("python D:/software/Anaconda3/Scripts/labelme_json_to_dataset.exe %s"%(path + '\\' + file))def order_img_and_label(source_path,save_image_path,save_gt_path):if not os.path.exists(save_image_path):os.makedirs(save_image_path)if not os.path.exists(save_gt_path):os.makedirs(save_gt_path)label_dirs = os.listdir(source_path)for dir in label_dirs:if os.path.isdir(os.path.join(source_path,dir)):print(dir)for file in os.listdir(os.path.join(source_path,dir)):# print(file)if file == 'img.png':print(file)os.rename(os.path.join(os.path.join(source_path,dir),file),os.path.join(save_image_path,dir+'.png'))if file == 'label.png':print(file)os.rename(os.path.join(os.path.join(source_path, dir), file), os.path.join(save_gt_path, dir + '.png'))if __name__ == '__main__':# json_to_image('H:\\0\\train\\json')order_img_and_label('H:\\0\\train\\json','H:\\0\\train\\img','H:\\0\\train\\gt')

数据标注:语义分割数据标注工具labelme安装、使用方法相关推荐

  1. 使用labelme标注语义分割数据

    当我们从各种途径获得图片数据之后,需要对其进行分割标注. 这里我们使用labelme标注工具. 环境: anaconda3 labelme项目地址:https://github.com/wkentar ...

  2. 基于深度学习的遥感影像语义分割数据预处理

    基于深度学习的遥感影像语义分割数据预处理 第一次处理数据,不熟练,仅供参考 数据预处理工具:Arcgis 第一步:下载遥感影像tif数据 根据实际需求选择感兴趣的遥感影像区域 数据来源:Google卫 ...

  3. python语义分割数据标签,将数字标签转彩色标签

    # 数字标签转彩色标签 import numpy as np import imageio import glob # 数字标签路径 path = r'C:\Users\67231\Desktop\o ...

  4. 语义分割数据增强python代码

                                                           语义分割数据增强python-pytorch代码-语义分割github项目 0. 先放gi ...

  5. python遥感影像地物分类_基于轻量化语义分割网络的遥感图像地物分类方法与流程...

    本发明属于图像处理 技术领域: ,特别涉及一种地物分类方法,可用于土地利用分析.环境保护以及城市规划. 背景技术: :遥感图像地物分类,旨在取代繁琐的人工作业,利用地物分类方法,得到输入遥感图像的地物 ...

  6. 语义分割数据标注、格式转换

    1. 数据准备 1.1 labelme标注数据 labelme标注完之后会生成json格式标注文件,与图像在同一文件夹下面,如图 1.2 labelme标注格式转换(json转voc格式) label ...

  7. 重磅推荐!日立开源语义分割数据集标注工具Semantic Segmentation Editor

    面向自动驾驶领域的2D图片与3D点云对象标注工具. (欢迎关注本站的"我爱计算机视觉"微信公众号,一个有价值有深度的公众号~) 日立汽车工业实验室(Hitachi Automoti ...

  8. 标注工具 labelme安装及使用 Win10

    Github上面有官方教程,我的下载过程供大家参考 Github链接:https://github.com/wkentaro/labelme anaconda安装及下载,创建环境 在使用labelme ...

  9. unet图片数据增强_numpy实现深度学习遥感图像语义分割数据增强(支持多波段)

    前言 数据增强是指对训练样本数据进行某种变换操作,从而生成新数据的过程.数据增强的根本目的是得到充足的样本数据量,避免模型训练过程中产生过拟合现象. 正文 对于遥感影像来说,由于成像过程传感器对同一地 ...

  10. 数据增强语义分割和作物杂草分类

    卷积神经网络(CNN)等深度学习方法已成为解决农业机器人中作物和杂草分类问题的流行方法.然而,为了获得满意的性能并避免过拟合,训练深度神经网络通常需要数千幅标记图像.这导致了语义分割中繁琐的像素标记. ...

最新文章

  1. MyBatis的插入数据操作
  2. xps13 linux 硬盘分区,在xps13上安装ubuntu16.04教程
  3. 格密码教程(试读):向量空间,基等介绍
  4. MakeDAO 推出新漏洞奖励计划,最高赏金1000万美元
  5. ACL在QinQ port 中的应用
  6. java date只保留年月日_入门之JAVA爬虫
  7. 来来来!一次搞定各种数据库 SQL 执行计划:MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite
  8. 由input type=file /获取的file.type为空字符串引申浏览器是如何获取文件的MIME类型...
  9. 峰值信噪比公式_关于 PSNR (Peak Signal-to-Noise Ratio) 峰值信噪比的个人理解
  10. 微信小程序蓝牙控制开门
  11. 离散数学---循环群,左陪集,子群
  12. shell以分号结尾_linux shell 各种分号,括号使用方法总结
  13. 高通CPU处理器解析
  14. jsp+sql的学生选课系统过程
  15. 解决win7(64位)Office(32位)安装64位Access驱动的方法
  16. tkinter -- tcp
  17. DSF框架使用(DAO、序列化、注解、服务接口、服务代理)
  18. Delegate 基本概念
  19. 分享丨从事设计10年后转行产品经理,总结6种工作差异
  20. rv1126开发板设置修改ip地址

热门文章

  1. redis 菜鸟教程中脚本笔记
  2. linux操作系统短进程优先调度算法,操作系统的常用的进程调度算法
  3. PuTTYgen使用教程
  4. 定制puttygen
  5. matlab pdetool解热传导方程,传热学与应用(李晓炜)基于pdetool的热传导数值计算.pdf...
  6. python中文文本聚类_python进行中文文本聚类实例(TFIDF计算、词袋构建)
  7. centos 如何测udp端口是否开放_centos测试udp端口是否打开
  8. matlab数组、矩阵运算
  9. l3119双闪_打印机进纸灯和墨水灯双灯齐闪 解决方法
  10. socket编程之addrinfo结构体和getaddrinfo()