代码参考:https://blog.csdn.net/qq_44442727/article/details/112785978

创建自己的数据集时,经常需要一些调整,比如说修改某一批文件中已经标好的一个对象的标签名,或者是不打算分割某一类对象,需要删除对其的标注。自己参考学习写了以下两个小工具同大家分享。

case1:批量修改某一类对象的标签名

比如说,我之前把标注的一类对象写成了“dog”,现在我想全部修改为“puppy”。
文件结构默认使用了在labelme标注时,JPG图片和JSON文件都放在同一个文件夹里的习惯。

# !/usr/bin/env python
# -*- encoding: utf-8 -*-import os
import json#写入自己放了照片和json文件的文件夹路径
json_dir = 'C:\\Users\\Sharon\\Desktop\\label_images\\.....'
json_files = os.listdir(json_dir)#写自己的旧标签名和新标签名
old_name = "dog"
new_name = "puppy"for json_file in json_files:json_file_ext = os.path.splitext(json_file)if json_file_ext[1] == '.json':jsonfile = json_dir +'\\'+ json_filewith open(jsonfile,'r',encoding = 'utf-8') as jf:info = json.load(jf)for i,label in enumerate(info['shapes']):if info['shapes'][i]['label'] == old_name:info['shapes'][i]['label'] = new_name# 找到位置进行修改# 使用新字典替换修改后的字典json_dict = info# 将替换后的内容写入原文件 with open(jsonfile,'w') as new_jf:json.dump(json_dict,new_jf)print('change name over!')

case2:批量删除某一类对象标注

比如说,我之前标注了“cat",“dog”,现在我不想要"dog"这个类型了,批量删除。

# !/usr/bin/env python
# -*- encoding: utf-8 -*-import os
import json#这里写你自己的存放照片和json文件的路径
json_dir = 'C:\\Users\\Sharon\\Desktop\\label_images\\....'
json_files = os.listdir(json_dir)#这里写你要删除的标签名
delete_name = "nozzle"for json_file in json_files:json_file_ext = os.path.splitext(json_file)if json_file_ext[1] == '.json':#判断是否为json文件jsonfile = json_dir +'\\'+ json_filewith open(jsonfile,'r',encoding = 'utf-8') as jf:info = json.load(jf)for i,label in enumerate(info['shapes']):if info['shapes'][i]['label'] == delete_name:del info['shapes'][i]# 找到位置进行删除# 使用新字典替换修改后的字典json_dict = info# 将替换后的内容写入原文件 with open(jsonfile,'w') as new_jf:json.dump(json_dict,new_jf)print('delete label over!')

处理完以后大家可以打开labelme再检查一下自己的新图片标注是否达到想要的效果。
觉得ok,点赞再走呀~

【深度学习之路记录02】python代码批量修改Labelme标注的json文件(删除标签、修改标签名)相关推荐

  1. 视频教程-深度学习原理详解及Python代码实现-深度学习

    深度学习原理详解及Python代码实现 大学教授,美国归国博士.博士生导师:人工智能公司专家顾问:长期从事人工智能.物联网.大数据研究:已发表学术论文100多篇,授权发明专利10多项 白勇 ¥88.0 ...

  2. Python修改图片格式以及相对应labelme标注的Json文件

    Python修改图片格式以及相对应labelme标注的Json文件 前言 前提条件 相关介绍 实验环境 Python修改图片格式以及相对应labelme标注的Json文件 代码实现 输出结果 前言 本 ...

  3. 基于深度学习的手势识别系统(Python代码,UI界面版)

    摘要:本文详细介绍基于深度学习的手势识别系统,在介绍手势识别算法原理的同时,给出了_P__y__t__h__o__n_的实现代码以及_P__y__Q__t_的UI界面.手势识别采用了基于MediaPi ...

  4. LabelMe标注的.json文件批量转Dataset,通过查询到多种代码无法在我电脑上正常工作,发现他们有共同的报错,于是修改后能正常工作。

    1.写在前面 最近用到标注好的数据训练神经网络,用labelme标注好之后生成.json文件,我要实现的功能是目标分割,需要把.json文件转为VOC格式的数据.但是.json文件太多,于是在网上找一 ...

  5. 【视频】TFLearn深度学习库,20行Python代码实现情感分类

    向AI转型的程序员都关注了这个号

  6. 利用深度学习(Keras)进行癫痫分类-Python案例

    目录 癫痫介绍 数据集 Keras深度学习案例 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 QQ交流群:903290195 癫痫介绍 癫痫,即俗称"羊癫风",是由多种 ...

  7. 我的三年自学深度学习之路

    大家好,我是羽峰.今天要和大家分享的是研究生三年的生活,也是自己自学深度学习的三年,凭借三年自学,最终进入了大厂做了一名算法工程师. 目录 2018 2019 2020 2021 2018 考研因为失 ...

  8. 【深度学习】基于Torch的Python开源机器学习库PyTorch回归

    [深度学习]基于Torch的Python开源机器学习库PyTorch回归 文章目录1 torch.autograd 2 torch.nn.functional 3 详细的回归DEMO3.1 DATAS ...

  9. 深度学习保姆级入门教程 -- 论文+代码+常用工具

    导读 该篇文章可以看作是我研一如何入门深度学习的一个大总结,本人本科专业为软件工程,硕士期间研究方向为基于深度学习的图像分割,跨度相对而言不算太大.如果你对如何入门深度学习还很迷茫的话,那么请看下去吧 ...

最新文章

  1. java B2B2C Springcloud多租户电子商城系统-消息驱动的微服务(消费分区)
  2. Deno 1.0?我还没好好研究 Node,你就这样推倒重做?
  3. android到顶部,Android recyclerview滚动到顶部
  4. vue @click 赋值_vue 手写一个时间选择器
  5. Can not issue data manipulation statements with executeQuery()错误解决
  6. robotFramework-ride使用1-关键字驱动与数据类型
  7. 控件:DataGridView列类型
  8. Leetcode 279 完美平方数
  9. vista下,怎么为一个程序设置UAC的例外?
  10. 实现web版用户注册(可以上传头像)
  11. SMT工艺培训一日谈
  12. 橙瓜发布2018网络小说风云榜年度榜,顶级大神作家的无声角逐
  13. linux测试硬盘速度命令,如何测试Linux磁盘的读写速度
  14. xlsx表格怎么筛选重复数据_excel表格中如何筛选重复数据
  15. 【工商银行科技菁英计划笔试】压缩字符串
  16. Windows 10 正式版原版ISO镜像
  17. 计算机界的传奇人物:高纳德
  18. bert获得词向量_Bert输入输出是什么
  19. 俞敏洪老师的回复真的太糟糕了!
  20. 认识vue.js(一)

热门文章

  1. 华为流程体系:IFS财经服务流程-内控版
  2. UTF8和UNICODE的关系及转换规则(字库篇一)
  3. 广东发展银行≠广发银行!广发样样行
  4. 前端学习之JavaScript——内置对象
  5. leetcode 5485. 找出最长的超赞子字符串
  6. cool edit pro生成报警声
  7. CSS实现高亮搜索关键字并前后省略隐藏
  8. ReactNative手势上滑隐藏下滑显示
  9. 怎么赚钱在手机上最快
  10. 转载:Qt Creator的CDB调试器--使用技巧与心得,重点是Symbols Path设置