python比较两个列表的重合度_通过nms删除json文件中重合度较高的bbox,并将删除后的保存...

本文介绍了如何使用Python实现非极大值抑制(NMS)删除JSON文件中重叠的bbox,然后保存更新后的JSON文件。通过加载JSON文件,计算每个bbox的面积和重叠比例,依据阈值过滤并更新json对象,最终写回文件。
摘要由CSDN通过智能技术生成

json格式如下:

目的:nms删除掉重合bbox,并将删除后的json文件同样保存到相同json文件中

代码如下:

import json

import numpy as np

import os

def py_cpu_nms(dets, thresh):

x1 = dets[:, 0]

y1 = dets[:, 1]

x2 = dets[:, 2]

y2 = dets[:, 3]

scores = dets[:, 4]

areas = (x2 - x1 + 1) * (y2 - y1 + 1) # 计算出所有图片的面积

order = scores.argsort()[::-1] # 图片评分按升序排序

keep = [] # 用来存放最后保留的图片的相应评分

while order.size > 0:

i = order[0] # i 是还未处理的图片中的最大评分

keep.append(i)

tmp=x1[order[1:]]

xxxx = x1[i]

xx1 = np.maximum(x1[i], x1[order[1:]])

yy1 = np.maximum(y1[i], y1[order[1:]])

xx2 = np.minimum(x2[i], x2[order[1:]])

yy2 = np.minimum(y2[i], y2[order[1:]])

# 计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值