前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >labelme怎么安装_putty安装教程

labelme怎么安装_putty安装教程

作者头像
全栈程序员站长
发布于 2022-10-01 05:34:45
发布于 2022-10-01 05:34:45
1.4K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

Labelme安装教程(基于anaconda)

1. 创建anaconda虚拟环境labelme

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
conda create -n labelme python=3.6

完成之后如图所示(由于我已经创建了labelme故这里用labelme1代替)

激活环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
conda activate labelme

执行完这一步会发现运行环境转移到了labelme,如果没有重新创建

2. 安装labelme所需要的依赖环境

安装的时候使用pip或者conda都可以,两者之中有一个不行时尝试使用另一个,我在安装的时候也是时好时坏,有点玄学

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
conda install pyqt
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
conda install pillow

这两个库的安装可能还需要别的依赖环境,请读者自行查阅,这里不再赘述

3.安装labelme

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
conda install labelme=3.16.2
#conda安装命令如果出错也可以使用pip命令,使用逻辑等号"=="
pip install labelme==3.16.2

这一步一定要注意安装的版本号,如果直接安装labelme不标注版本号在后续json到dataset的时候会出现异常,一般来说3.16的版本都可以,至此安装过程就结束了,下面介绍labelme的使用方法。

4.使用labelme标注图片

在刚才安装好的窗口下输入labelme后便可打开labelme

界面如图

在使用过程中建议大家一打开文件(OpenDir)的方式读取图片,这样可以通过NextImage和PreImage键来查看前后的图片。打开图片之后,右键可以选择标注的工具,例如目标检测使用的矩形、heatmap使用的圆形以及关键点检测使用的点和线。

标注完之后点击save进行保存,注意:最好把标注完的json文件与原图存放在一个目录下,这样在后期查看的时候可以看到原图与标注区域的叠加,而不单单是原图。

5.Json To Dataset

得到json文件之后,我们要将其转化成数据集使用,这里涉及到labelme源码的更改 首先,找到labelme的json_to_dataset.py 找到anaconda的安装位置,例如我安装在D盘,然后找到下面说的具体位置:D:\Anaconda\envs\labelme\Lib\site-packages\labelme\cli,进入之后会发现有几个python source file,打开json_to_dataset.py,将代码做如下更改:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import argparse
import json
import os
import os.path as osp
import warnings
import PIL.Image
import yaml
from labelme import utils
import base64
def 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_file
if 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.out
if 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 dense
label_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()

将之前标注好的json文件单独提取出来,放在一个目录下,然后进入我们批量处理的环境中,也就是执行把jaso->dataset的目录:D:\Anaconda\envs\labelme\Scripts

这个目录下有执行程序: .

下面就可以进行json文件批量处理了,exe程序后边是之前的json单独建立的目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
labelme_json_to_dataset.exe D:\Spyder\label_dataset

成功执行后结果如下图,其保存的地址为相对地址,就是在D:\Anaconda\envs\labelme\Scripts下

如果安装的labelme版本是3.16.2的,应该不会有问题;有异常抛出的话,大概率是版本不兼容,建议重新创建环境安装

OVER

参考: 大神源码:实现labelme批量json_to_dataset方法 哔哩哔哩小哥讲解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194896.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月11日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
实现labelme批量json_to_dataset方法
labelme可以帮助我们快速的实现Mask-RCNN中数据集json文件的生成,然而还需要我们进一步的将json转成dataset,可以直接在cmd中执行labelme_json_to_dataset.exe C:\Users\Administrator\Desktop\total\1.json(路径),但是这个过程需要我们一个json文件的生成,过程很慢。
全栈程序员站长
2022/10/01
1.8K0
实现labelme批量json_to_dataset方法
如何通过labelme标注将json文件转为png的label
2、进入该环境,安装pyqt5和labelme,labelme要求3.3.1的版本
Albert_xiong
2021/06/21
5.6K0
如何通过labelme标注将json文件转为png的label
U-NET 图像预处理
首先将图像格式及大小、类型、名称 做出调整 这里将 bmp 转为 png 大小统一为 500*500, 按照数字序号命名
用户1148525
2021/12/07
5650
Mask Rcnn目标分割-训练自己数据集-详细步骤[通俗易懂]
本文接着介绍了Mask Rcnn目标分割算法如何训练自己数据集,对训练所需的文件以及训练代码进行详细的说明。
全栈程序员站长
2022/11/09
4.4K1
Mask Rcnn目标分割-训练自己数据集-详细步骤[通俗易懂]
【图像分割】LabelMe基本使用/标注标签格式转换及可视化
之前一直在做目标检测的相关内容,使用LabelImg标注检测数据轻车熟路。不过最近尝试探索一下图像分割场景,需要用到LabelMe标注用于分割的数据标签,本文进行过程记录。
zstar
2023/04/27
9.4K0
【图像分割】LabelMe基本使用/标注标签格式转换及可视化
labelme使用教程_labelme和labelimg区别
大家好,又见面了,我是你们的朋友全栈君。 LabelMe 可用于实例分割,语义分割,目标检测,分类任务的数据集标注工作。 在线标注版本:http://labelme2.csail.mit.edu/Re
全栈程序员站长
2022/10/01
3K0
labelme使用教程_labelme和labelimg区别
打架斗殴监测识别算法
打架斗殴监测识别算法采用yolov5先进的图像处理和机器学习算法框架模型,打架斗殴监测识别算法能够自动识别和分析出打架斗殴的行为特征。一旦系统检测到打架斗殴行为,将自动触发告警。打架斗殴监测识别算法中YOLO框架模型的结构非常简单,就是单纯的卷积、池化最后加了两层全连接,从打架斗殴监测识别算法网络结构上看,与前面介绍的CNN分类网络没有本质的区别,最大的差异是输出层用线性函数做激活函数,因为需要预测bounding box的位置(数值型),而不仅仅是对象的概率。
燧机科技
2023/09/18
1.9K0
打架斗殴监测识别算法
标注工具labelme_数据标注从哪里接单
Labelme 是一个图形界面的图像标注软件。其的设计灵感来自于 http://labelme.csail.mit.edu/ 。它是用 Python 语言编写的,图形界面使用的是 Qt(PyQt)。
全栈程序员站长
2022/10/01
2.2K0
标注工具labelme_数据标注从哪里接单
mask rcnn实现教程
链接:https://pan.baidu.com/s/1htJYyNy 密码:0r2b
全栈程序员站长
2022/11/09
6840
mask rcnn实现教程
labelme教程_label shop
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/03
1.3K0
labelme标注的数据分析[通俗易懂]
注:每个对象对应一个mask(图中2个对象,对应2个mask),左边的猫标记为cat_1,右边的标记为cat_2
全栈程序员站长
2022/10/01
1.8K0
labelme标注的数据分析[通俗易懂]
mask rcnn训练自己的数据集
最近迷上了mask rcnn,也是由于自己工作需要吧,特意研究了其源代码,并基于自己的数据进行训练~
3D视觉工坊
2020/12/11
2.7K0
mask rcnn训练自己的数据集
手把手教学Yolov7的搭建及实践
关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 计算机视觉研究院专栏 作者:Edison_G yolo系列已经成了大家学习工作中常用的目标检测网络,果然,yolov7又来了。听说这个作者是yolov4的,我们就实践下。 01 概述 具体内容可以参考CSDN的he_eeeeeeeeeee,进入主页既可以或更加详细的操作流程。 源码:https://github.com/WongKinYiu/yolov7 论文:https://a
计算机视觉研究院
2022/07/26
2.3K0
手把手教学Yolov7的搭建及实践
MMDetection全流程实战指南:手把手带你构建目标检测模型
MMDetection 是一个由 OpenMMLab 开发的开源目标检测工具箱,基于 PyTorch 实现。该库提供了丰富的目标检测算法,包括经典的 Faster R-CNN、YOLO 和最新的一些研究成果,非常方便于研究者和工程师进行模型的训练和推理。具有高度模块化和可扩展性的设计,使得用户可以非常灵活地进行个性化配置和二次开发。这一工具箱已经成为目标检测领域的事实标准之一,被广泛应用于学术研究和产业界。
OpenMMLab 官方账号
2023/12/13
15.7K5
MMDetection全流程实战指南:手把手带你构建目标检测模型
高分辨率图像建筑物提取数据集制作
# data:2020-01-04 # user:dean # desc:批量将json文件转为 label import os dir = r"I:\人工智能数据\DOM\裴庄村51-dom\image-3000" files = [os.path.join(dir,file) for file in os.listdir(dir) if file.endswith(".json")] for file in files: cmd = "labelme_json_to_dataset {}".format(file) print(cmd) os.system(cmd)
Dean0731
2020/05/12
1.3K0
高分辨率图像建筑物提取数据集制作
mask rcnn训练自己的数据集_fasterrcnn训练自己的数据集
这篇博客是 基于 Google Colab 的 mask rcnn 训练自己的数据集(以实例分割为例)文章中 数据集的制作 这部分的一些补充
全栈程序员站长
2022/09/23
8920
mask rcnn训练自己的数据集_fasterrcnn训练自己的数据集
【目标检测】Labelme的改进——海量图片的自动标注「建议收藏」
Anaconda 安装的Python缺少了python3.dll,可以通过去python.org 下载所需版本的python安装包并安装,然后从安装目录中拷贝python3.dll文件,粘贴到Anaconda安装目录下,也就是python36.dll所在的目录下,一般就是第一层目录,具体要看自己的安装情况。
全栈程序员站长
2022/10/01
6.6K0
【目标检测】Labelme的改进——海量图片的自动标注「建议收藏」
【Yolov5】1.认真总结6000字Yolov5保姆级教程[通俗易懂]
1.集成的资源我放在了文末,包括我自己做成的成品,可以直接train与detect。我发在百度网盘上。
全栈程序员站长
2022/07/23
8.5K1
【Yolov5】1.认真总结6000字Yolov5保姆级教程[通俗易懂]
深度学习 | Detectron2使用指南
Detectron2是Facebook AI Research的检测和分割框架,其主要基于PyTorch实现,但具有更模块化设计,因此它是灵活且便于扩展的,具体简介可见Github库和Meta AI Blog Post。
Justlovesmile
2022/03/22
7.1K0
深度学习 | Detectron2使用指南
AI人员打架识别算法
AI打架识别算法基于Detection网络模型算法框架,AI打架识别算法识别校园打架斗殴行为,发现立即打架斗殴行为算法会立即抓拍告警推送打架事件信息。AI人员打架识别算法目标检测架构分为两种,一种是two-stage,一种是one-stage,区别就在于 two-stage 有region proposal过程,类似于一种海选过程,网络会根据候选区域生成位置和类别,而AI人员打架识别算法直接从图片生成位置和类别。
燧机科技
2023/09/22
9900
AI人员打架识别算法
相关推荐
实现labelme批量json_to_dataset方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验