labelme 转换数据操作过程

本文详细介绍了如何使用labelme进行图像标注,包括安装、打开图片、图像放缩、画图标注和保存。接着,文章阐述了如何利用labelme生成的.json文件批量转换为所需数据集,涉及到对源码的修改、添加label.txt、读取文件、处理异常、路径操作等步骤,并提供了单张图片和多张图片处理的脚本。

labelme 安装

看前面的博客【数据标注labelme虚拟环境及安装】

labelme 标注流程

打开图片

方法一:Open

open: 打开单张图片
在这里插入图片描述

方法二:Open Dir

Open Dir:
[打开了文件夹内所有的图像,推荐]可以跳转回原先的图像检查标注
在这里插入图片描述

图像放缩

在这里插入图片描述

画图(注意要按时针顺序进行标注)

1.画错了 按ESC
2.画错线了,往后退一步,撤销一条线,其余的不改动 按 Backspace
3.不画了 按完Ese 后,-----按Edit Polygons
4.想要有同样图形的标注:适用于图形中有多个 相同大小具有相同标签(类别)的物体
右键---Duplicate Polygons图2
不想要这个标注---右键---Delete Polygons
5.标签标错了(不需要重新画标注,只要改标签)图3
右键---Edit Label---修改即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

保存图像

### 不同版本 Labelme 标注数据格式转换方法 当处理来自不同版本的 Labelme 工具所生成的数据时,可能会遇到一些不兼容的情况。为了确保标注数据能够在新旧版本之间顺利迁移并保持一致性,可以采取以下措施: #### 数据结构差异分析 不同版本之间的主要区别通常体现在 JSON 文件内部字段的变化上。较新的版本可能引入了额外的信息或改变了某些属性名称。因此,在进行转换前,建议先对比两个版本的具体差异。 对于早期版本到最新版的升级过程,官方文档提供了详细的更新日志说明[^1]。这有助于理解哪些部分发生了变动以及如何调整相应的脚本逻辑来适配这些变化。 #### 自动化批量处理方案 针对大量文件的情况下,编写 Python 脚本来实现自动化批量化转换是一种高效的方式。下面给出一段简单的代码片段用于演示如何读取原始 JSON 并对其进行必要的修改以适应新版需求: ```python import json from pathlib import Path def convert_labelme_format(input_path, output_path): input_file = Path(input_path) with open(input_file, 'r', encoding='utf-8') as f_in: data = json.load(f_in) # 进行特定于版本间的转换操作 if "version" not in data or float(data["version"]) < 5.0: # 假设这里有一些具体的转换规则适用于低于 v5 的版本 pass # 更新版本号至当前使用的最高版本 data['version'] = "latest" output_file = Path(output_path) / (input_file.stem + "_converted.json") with open(output_file, 'w', encoding='utf-8') as f_out: json.dump(data, f_out, ensure_ascii=False, indent=2) if __name__ == "__main__": path_to_old_files = "./old_version_data/" save_converted_here = "./new_version_data/" files = list(Path(path_to_old_files).glob('*.json')) for file in files: convert_labelme_format(str(file), save_converted_here) ``` 此段程序会遍历指定目录下的所有 `.json` 文件,并尝试按照预定义好的映射关系将其转换为目标格式保存下来。需要注意的是实际应用中应当根据具体的需求定制这部分逻辑[^2]。 另外值得注意的一点是,如果涉及到图像编码方式(如 base64 编码与否)、坐标系变换等问题,则还需要进一步深入研究两者的差别并作出相应调整[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值