Python 计算两个预测的并集的交点
我需要计算两个预测的交集,例如不相交的预测。我的代码如下:Python 计算两个预测的并集的交点,python,Python,我需要计算两个预测的交集,例如不相交的预测。我的代码如下: yminA = max(coordenadas_A[0]*1024,coordenadas_B[0]*1024) xminA = max(coordenadas_A[1]*1024,coordenadas_B[1]*1024) ymaxA = max(coordenadas_A[2]*1024,coordenadas_B[2]*1024) xmaxA = max(coordenadas_A[3]*1024
yminA = max(coordenadas_A[0]*1024,coordenadas_B[0]*1024)
xminA = max(coordenadas_A[1]*1024,coordenadas_B[1]*1024)
ymaxA = max(coordenadas_A[2]*1024,coordenadas_B[2]*1024)
xmaxA = max(coordenadas_A[3]*1024,coordenadas_B[3]*1024)
interArea = max(0, ymaxA - yminA + 1) * max(0, xmaxA - xminA + 1)
boxAArea = (coordenadas_A[2]*1024 - coordenadas_A[0]*1024 + 1) * (coordenadas_A[3]*1024 - coordenadas_A[1]*1024 + 1)
boxBArea = (coordenadas_B[2]*1024 - coordenadas_B[0]*1024 + 1) * (coordenadas_B[3]*1024 - coordenadas_B[1]*1024 + 1)
iou = interArea / float(boxAArea + boxBArea - interArea)
print(iou)
但我得到了以下结果:
1.7540044296738415
0.6296533530603247
0.5313443694664705
0.6413727857109087
我如何知道两个roi是否重叠?将
ymaxA
和xmaxA
变量函数max
更改为min
ymaxA=min(坐标A[2]*1024,坐标B[2]*1024)
xmaxA=min(坐标系A[3]*1024,坐标系B[3]*1024)
。。。而不是
ymaxA=max(坐标A[2]*1024,坐标B[2]*1024)
xmaxA=max(坐标系A[3]*1024,坐标系B[3]*1024)
您得到的结果有什么问题?我如何知道两个roi是否重叠?是的,这个答案解决了我的问题。非常感谢。