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

该博客介绍了如何将JSON文件中的bbox数据进行归一化处理,用于目标检测。两种bbox表示方式——(x1,y1,x2,y2)和(x,y,w,h)——被讨论,并提供了对应的Python代码实现。转换过程涉及计算中心点坐标、宽和高,然后根据图像尺寸进行归一化。
摘要由CSDN通过智能技术生成

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)

在进行yolov8数据归一化之前,你需要了解你的json文件的bbox是使用哪种形式表示的。有两种情况: 1. bbox使用(x1, y1, x2, y2)表示边界框的情况。其size表示图片的尺寸,一般可以从json文件获取,以列表的形式储存,如[1920, 1080]。box表示json的边界框bbox,同样以列表的形式表示。以下是换的代码: def convert(size, box): dw = 1. / size dh = 1. / size x = (box + box) / 2.0 y = (box + box) / 2.0 w = box - box h = box - box x = x * dw w = w * dw y = y * dh h = h * dh return x, y, w, h 2. bbox使用(x, y, w, h)表示边界框的情况。以下是换的代码: def convert(size, box): x, y, w, h = item['bbox'] dw = 1. / size dh = 1. / size x = x * dw w = w * dw y = y * dh h = h * dh return x, y, w, h 以上是yolov8数据归一化的方法,根据你的json文件bbox的表示形式选择相应的换方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [yolov5_face_landmark:基于yolov5的人脸检测,带关键点检测](https://download.csdn.net/download/weixin_42107165/18354699)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【深度学习】Yolov5标签归一化处理——json换为txt](https://blog.csdn.net/weixin_39589455/article/details/124648388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值