这个比赛需要labels是kitti格式的,我们用标注软件生成.json文件后还需要进行转换。
所以需要写一个脚本用来转换,代码如下:
import json
import os
json_dir = 'D:/zhuanhuan/jsonfile/' # .json文件的地址
dirs = os.listdir(json_dir)
#print(dir)
for i in dirs:
if os.path.splitext(i)[1] == ".json":
with open(json_dir+i,'r',encoding='utf-8') as f:
data = json.load(f)
print(i)
new_file = open("label/"+str(os.path.splitext(i)[0])+'.txt','w+')
for i in range(0,len(data['shapes'])):
clss = data['shapes'][i]['label']
box_lt = data['shapes'][i]['points'][0]
box_rb = data['shapes'][i]['points'][1]
result = str(clss)+" 0.00 0 0.00 "+str(int(box_lt[0]))+" "+\
str(int(box_lt[1]))+" "+str(int(box_rb[0]))+" "+str\
(int(box_rb[1]))
print(result)
new_file.write(result)
之后就会在当前文件夹下生成label文件,包含转成的kitti格式的.txt文件。