图像分割josn文件生成png并批量移动到指定文件夹

本文档介绍了使用labelme进行图像分割标注,然后将json文件转换为png,并批量移动到指定文件夹以供模型训练的步骤。首先,通过labelme创建json标签文件;接着,利用脚本将json批量转换为png图像;最后,将图片和标签移动到训练目录,准备模型训练。
摘要由CSDN通过智能技术生成

       在进行图像分割的时候,我们常常要用到labelme去做标签。标记后的json文件无法直接用于训练,将其转化为png文件并批量移动到指定文件夹,用于模型训练。

 

1、用labelme制作标签,生成josn文件

2、josn文件批量转png

 3、将生成的img和label移动到指定文件夹用于训练

 

代码如下

import os
from glob import glob

json_files = glob(os.path.join("存放josn文件的文件夹path", "*.json"))
for json_file in json_files:
    os.system(f"labelme_json_to_dataset {json_file} -o {''.join(json_file.split('.')[:-1])}")

将所有上步生成文件移到一个文件夹后 

建立要移动到的文件夹

 

import os
path = '刚刚移动文件的文件夹path'
file_paths = os.listdir(path)
print(file_paths)
i=0
for file_path in file_paths:
    i+=1
    os.rename(path+'/'+file_path+'/'+'img.png','新文件夹path'+str(i)+'.png')
    os.rename(path+'/'+file_path+'/'+'label.png','新文件夹path'+str(i)+'.png')

 之后就可以得到训练数据了

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
批量指定文件夹JSON文件转换为TXT文件,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Python和YOLOv5。 2. 创建一个Python脚本,例如`batch_json_to_txt.py`。 3. 在脚本导入所需的库: ```python import os import json ``` 4. 定义一个函数,用于将单个JSON文件转换为TXT文件: ```python def json_to_txt(json_file, txt_file): with open(json_file, 'r') as f: data = json.load(f) with open(txt_file, 'w') as f: for obj in data['objects']: class_id = obj['class_id'] class_name = obj['class_name'] bbox = obj['relative_coordinates'] x_center = bbox['center_x'] y_center = bbox['center_y'] width = bbox['width'] height = bbox['height'] x_min = (x_center - width / 2) * data['image_width'] y_min = (y_center - height / 2) * data['image_height'] x_max = (x_center + width / 2) * data['image_width'] y_max = (y_center + height / 2) * data['image_height'] line = f"{class_id} {x_min} {y_min} {x_max} {y_max}\n" f.write(line) ``` 5. 定义一个函数,用于批量处理文件夹的所有JSON文件: ```python def batch_process_folder(folder_path): for file_name in os.listdir(folder_path): if file_name.endswith('.json'): json_file = os.path.join(folder_path, file_name) txt_file = os.path.join(folder_path, file_name.replace('.json', '.txt')) json_to_txt(json_file, txt_file) ``` 6. 调用函数并提供文件夹路径作为参数: ```python batch_process_folder('path/to/folder') ``` 确保将`path/to/folder`替换为您要处理的文件夹的路径。 运行脚本后,它将遍历指定文件夹的所有JSON文件,并将每个JSON文件转换为相应的TXT文件。输出的TXT文件将与原始JSON文件位于同一目录下,并具有相同的文件名,只是扩展名不同。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值