参考博客:https://blog.csdn.net/hongxingabc/article/details/78996407
import numpy as np
thresh = 0.6 #设置阈值
nums = np.array([[100,100,200,200,0.8],
[300,300,400,400,0.75],
[101,101,202,202,0.78],
[135,135,345,345,0.65],
[400,230,567,345,0.9],
[12,12,98,98,0.9]]) #建立数组
x1 = nums[:, 0] #得到所有边框的第一个点的x坐标
y1 = nums[:, 1]
x2 = nums[:, 2]
y2 = nums[:, 3]
scores = nums[:, 4] #得到所有边框的置信度分数
areas = (x2 - x1 + 1) * (y2 - y1 + 1) #得到每个边框的面积
order = scores.argsort()[::-1] #分数从大到小排列,取index
keep = [] #keep为最后保留的边框
while order.size > 0:
i = order[0]