没有合适的资源?快使用搜索试试~ 我知道了~
首页关于在labelme批量转化json文件时PermissionError: [Errno 13] Permission denied: ‘F:/zkx/list_path[i]’的解决
首先我要解释一下,很多时候出现这个问题,并不是你的文件有毛病,很可能是你代码读取的路径不对,这就要追究到代码本身。批量转化可以在json_to_dataset文件里直接运行代码实现。这个思路还要感谢我的一个师兄。 代码如下: import argparse import base64 import json import os import os.path as osp import imgviz import PIL.Image from labelme.logger import logger from labelme import utils import cv2 from math
资源详情
资源评论
资源推荐

关于在关于在labelme批量转化批量转化json文件时文件时PermissionError: [Errno
13] Permission denied: ‘F:/zkx/list_path[i]’的解决的解决
首先我要解释一下,很多时候出现这个问题,并不是你的文件有毛病,很可能是你代码读取的路径不对,这就要追究到代码本
身。批量转化可以在json_to_dataset文件里直接运行代码实现。这个思路还要感谢我的一个师兄。
代码如下:
import argparse
import base64
import json
import os
import os.path as osp
import imgviz
import PIL.Image
from labelme.logger import logger
from labelme import utils
import cv2
from math import *
import numpy as np
import random
import rotate
def main():
list_path = os.listdir('F:/zkx')
for i in range(0, len(list_path)):
logger.warning('This script is aimed to demonstrate how to convert the'
'JSON file to a single image dataset, and not to handle'
'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 = 'F:/zkx/' + list_path[i] print(list_path[i])
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) # 用于以数字权限模式创建目录
data = json.load(open(json_file))
imageData = data.get('imageData')
if not imageData:
imagePath = os.path.join(os.path.dirname(json_file), data['imagePath']) # os.path.dirname返回文件路径
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 sorted(data['shapes'], key=lambda x: x['label']):
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
lbl, _ = utils.shapes_to_label(
img.shape, data['shapes'], label_name_to_value
)
label_names = [None] * (max(label_name_to_value.values()) + 1)
for name, value in label_name_to_value.items():



















weixin_38710566
- 粉丝: 5
- 资源: 1030
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论0