Yolov5的json文件转txt文件中,归一化的处理。

1.任务分析

json转txt主要就是处理json文件中的bbox,而目标检测中,bbox有两种储存形式,一种里面储存的是(x1,y1,x2,y2),另一种是(x,y,w,h)。以下图为例:Yolov5的json文件转txt文件中,归一化的处理。_第1张图片

在进行转化之前,你需要知道你的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)

你可能感兴趣的:(python,目标检测)