前言:
目前兄弟们对“我的世界手机版json格式文件”大致比较着重,你们都想要剖析一些“我的世界手机版json格式文件”的相关资讯。那么小编同时在网络上网罗了一些有关“我的世界手机版json格式文件””的相关知识,希望同学们能喜欢,咱们快快来了解一下吧!如果我们使用百度AI的标注工具对目标识别的训练素材进行了标注,最后导出的会是JSON格式的标注文件,使用以下PYTHON代码,可以将百度AI标注的JSON标注格式转换成YOLO用的标注格式,转换完后可以直接在YOLO里训练使用,如果使用其他的标注工具生成的JSON文件,也可以参考去修改批量生成YOLO用的标注格式。
# -*- coding: utf-8 -*-import jsonimport osfrom PIL import Image"""@Time : 2021/6/3 10:08@Auth : 山隐客****将百度AI的标注资料批量转换成YOLO格式的标注TXT文件****"""def convert(size, box): print("进入坐标归一化函数") dw = 1. / (size[0]) dh = 1. / (size[1]) x = (box[0] + box[1]) / 2.0 - 1 y = (box[2] + box[3]) / 2.0 - 1 w = box[1] - box[0] h = box[3] - box[2] x = x * dw w = w * dw y = y * dh h = h * dh return x, y, w, hdef convert_annotation(image_id): print("进入提取JSON内容和图片尺寸函数,整理数值") in_file = open(r'd:/yolo5bhouchu/Annotations/%s.json' % (image_id)) #读取百度AI 标注文件JSON文件 image_file='d:/yolo5bhouchu/images/%s.jpeg' % (image_id) #images目录里存放和标注文件对应的图片文件,读取图片获取图片尺寸 out_file = open(r'd:/yolo5bhouchu/labels/%s.txt' % (image_id), 'w') #labels目录用来存放生成的YOLO格式的标注TXT文件 img = Image.open(image_file) w = img.width h = img.height print("图片宽度和高度分别为:",w,h) new_dict = json.load(in_file) biaoqian_num=len(new_dict['labels']) bqlist_num = range(biaoqian_num) for j in bqlist_num: zbbox =new_dict['labels'][j] print("读取JSON坐标值:",zbbox) b = (float(zbbox['x1']), float(zbbox['x2']), float(zbbox['y1']),float(zbbox['y2'])) b1, b2, b3, b4 = b # 标注越界修正 if b2 > w: b2 = w if b4 > h: b4 = h b = (b1, b2, b3, b4) print("修正后的坐标值:",b) bb = convert((w, h), b) box_name=zbbox['name'] #以下后厨使用 if box_name=='mask': cls_id=0 if box_name=='hat': cls_id=1 if box_name=='clothes': cls_id=2 if box_name=='no_mask': cls_id=3 if box_name=='no_hat': cls_id=4 if box_name=='no_clothes': cls_id=5 print("开始按yolo格式写入TXT") out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n') print("YOLO标注转换完毕")jsonfilepath='d:/yolo5bhouchu/Annotations' #百度AI的JSON标签文件存放目录,使用绝对路径total_json = os.listdir(jsonfilepath)print(total_json)num = len(total_json)list_index = range(num)for i in list_index: image_name = total_json[i][:-5] print(image_name) convert_annotation(image_name)
[作揖]大家好,我是山隐客,感谢朋友们的点赞、关注、评论、收藏。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #我的世界手机版json格式文件