1. 程式人生 > 程式設計 >Python計算機視覺裡的IOU計算例項

Python計算機視覺裡的IOU計算例項

其中x1,y1;x2,y2分別表示兩個矩形框的中心點

def calcIOU(x1,y1,w1,h1,x2,y2,w2,h2):
  if((abs(x1 - x2) < ((w1 + w2)/ 2.0)) and (abs(y1-y2) < ((h1 + h2)/2.0))):
    left = max((x1 - (w1 / 2.0)),(x2 - (w2 / 2.0)))
    upper = max((y1 - (h1 / 2.0)),(y2 - (h2 / 2.0)))

    right = min((x1 + (w1 / 2.0)),(x2 + (w2 / 2.0)))
    bottom = min((y1 + (h1 / 2.0)),(y2 + (h2 / 2.0)))

    inter_w = abs(left - right)
    inter_h = abs(upper - bottom)
    inter_square = inter_w * inter_h
    union_square = (w1 * h1)+(w2 * h2)-inter_square

    calcIOU = inter_square/union_square * 1.0
    print("calcIOU:",calcIOU)
  else:
    print("No intersection!")

  return calcIOU
def main():
  calcIOU(1,2,1,2)

if __name__ == '__main__':
  main()

以上這篇Python計算機視覺裡的IOU計算例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。