個人分類: 深度學習
轉載來自:https://blog.csdn.net/Eddy_zheng/article/details/52126641
原圖:
# -*- coding: utf-8 -*-
"""
Created on Sun Aug 07 14:26:51 2016
@author: Eddy_zheng
"""
def IOU(Reframe,GTframe):
"""
自定義函數,計算兩矩形 IOU,傳入爲均爲矩形對角線,(x,y) 座標。
"""
x1 = Reframe[0]
y1 = Reframe[1]
width1 = Reframe[2]-Reframe[0]
height1 = Reframe[3]-Reframe[1]
x2 = GTframe[0]
y2 = GTframe[1]
width2 = GTframe[2]-GTframe[0]
height2 = GTframe[3]-GTframe[1]
endx = max(x1+width1,x2+width2)
startx = min(x1,x2)
width = width1+width2-(endx-startx)
endy = max(y1+height1,y2+height2)
starty = min(y1,y2)
height = height1+height2-(endy-starty)
if width <=0 or height <= 0:
ratio = 0 # 重疊率爲 0
else:
Area = width*height # 兩矩形相交面積
Area1 = width1*height1
Area2 = width2*height2
ratio = Area*1./(Area1+Area2-Area)
# return IOU
return ratio,Reframe,GTframe