1.任务分析
json转txt主要就是处理json文件中的bbox,而目标检测中,bbox有两种储存形式,一种里面储存的是(x1,y1,x2,y2),另一种是(x,y,w,h)。以下图为例:
在进行转化之前,你需要知道你的json文件里面bbox存储的是哪种形式。
2.归一化代码实现
2.1若bbox(x1,y1,x2,y2)
def convert(size,box):
dw = 1. / size[0]
dh = 1. / size[1]
x = (box[0] + box[2]) / 2.0
y = (box[1] + box[3]) / 2.0
w = box[2] - box[0]
h = box[3] - box[1]
x = x * dw
w = w * dw
y = y * dh
h = h * dh
return(x,y,w,h)
2.2若bbox(x,y,w,h)
def convert(siez,box):
x, y, w, h = item['bbox']
dw = 1. / size[0]
dh = 1. / size[1]
x = x * dw
w = w * dw
y = y * dh
h = h * dh
return(x,y,w,h)