labelme自定义语义分割数据集 Python文件调用labelme_json_to_dataset 批处理json文件

labelme自定义语义分割数据集 使用Python文件调用labelme_json_to_dataset批处理json文件

思路:
使用Python os包中的os.system()执行cmd命令,用迭代的方式输入每次labelme_json_to_dataset i.json命令,实现大量json文件的批处理。代码如下:

import os

# 脚本处理文件,将1.json~360.json 使用labelme_json_to_dataset 转换成标定图片

# 脚本处理文件,将1.json~360.json 使用labelme_json_to_dataset 转换成标定图片
line = "conda activate labelme"

os.system(line)

for i in range(1, 361):
    line = "labelme_json_to_dataset "

    line = line + str(i) + ".json"

    result = os.system(line)

待处理的json文件放入同一个文件夹中,如下图:
labelme自定义语义分割数据集 Python文件调用labelme_json_to_dataset 批处理json文件_第1张图片
在此文件夹中创建一个Python文件,我这里命名为jsonDeal.py。
我一共有360个json文件,所以for i in range(1, 361)。
line变量存储需要cmd执行的命令,是字符串格式。
首先,执行conda activate labelme
之后,执行 labelme_json_to_dataset i.json
如下图:
labelme自定义语义分割数据集 Python文件调用labelme_json_to_dataset 批处理json文件_第2张图片
即使中间有一些json文件存在错误,程序也会完整的执行完毕。只是会在出错的文件报错:如下图,我这个json文件当时没有放到目录里面:
labelme自定义语义分割数据集 Python文件调用labelme_json_to_dataset 批处理json文件_第3张图片
这样,执行完程序后,就会在json文件夹生成对应的所有的json对应的img和label,如下图:
labelme自定义语义分割数据集 Python文件调用labelme_json_to_dataset 批处理json文件_第4张图片
labelme自定义语义分割数据集 Python文件调用labelme_json_to_dataset 批处理json文件_第5张图片
好了,到这里就结束了,如果有什么疑问可以给我留言,我看到会及时回复。

你可能感兴趣的:(python,json,cmd)