# 两个检测框框是否有交叉,如果有交集则返回重叠度 IOU, 如果没有交集则返回 0
def bb_overlab(x1, y1, w1, h1, x2, y2, w2, h2):
'''
说明:图像中,从左往右是 x 轴(0~无穷大),从上往下是 y 轴(0~无穷大),从左往右是宽度 w ,从上往下是高度 h
:param x1: 第一个框的左上角 x 坐标
:param y1: 第一个框的左上角 y 坐标
:param w1: 第一幅图中的检测框的宽度
:param h1: 第一幅图中的检测框的高度
:param x2: 第二个框的左上角 x 坐标
:param y2:
:param w2:
:param h2:
:return: 两个如果有交集则返回重叠度 IOU, 如果没有交集则返回 0
'''
if(x1>x2+w2):
return 0
if(y1>y2+h2):
return 0
if(x1+w1<x2):
return 0
if(y1+h1<y2):
return 0
colInt = abs(min(x1 +w1 ,x2+w2) - max(x1, x2))
rowInt = abs(min(y1 + h1, y2 +h2) - max(y1, y2))
overlap_area = colInt * rowInt
area1 = w1 * h1
area2 = w2 * h2
return overlap_area / (area1 + area2 - overlap_area)
python3, 计算两个矩形框是否重叠,并计算重叠度
猜你喜欢
转载自blog.csdn.net/tutu96177/article/details/87784058
今日推荐
周排行