zoukankan      html  css  js  c++  java
  • python实现IoU

    IoU公式

    重合程度通过检测评价函数IoU(Intersection over Union)来判断,IoU计算公式如下:
    IoU计算公式
    参数说明:
    IoU公式中参数说明

    python实现IoU源码:

    import numpy as np
    
    # get IoU overlap ratio
    def iou(a, b):
    	# get area of a
        area_a = (a[2] - a[0]) * (a[3] - a[1])
    	# get area of b
        area_b = (b[2] - b[0]) * (b[3] - b[1])
    
    	# get left top x of IoU
        iou_x1 = np.maximum(a[0], b[0])
    	# get left top y of IoU
        iou_y1 = np.maximum(a[1], b[1])
    	# get right bottom of IoU
        iou_x2 = np.minimum(a[2], b[2])
    	# get right bottom of IoU
        iou_y2 = np.minimum(a[3], b[3])
    
    	# get width of IoU
        iou_w = iou_x2 - iou_x1
    	# get height of IoU
        iou_h = iou_y2 - iou_y1
    
    	# get area of IoU
        area_iou = iou_w * iou_h
    	# get overlap ratio between IoU and all area
        iou = area_iou / (area_a + area_b - area_iou)
    
        return iou
    
    # [x1, y1, x2, y2]
    a = np.array((50, 50, 150, 150), dtype=np.float32)
    
    b = np.array((60, 60, 170, 160), dtype=np.float32)
    
    print(iou(a, b))
    
  • 相关阅读:
    NSThread 多线程 三种方式
    CABasicAnimation 核心动画
    图片圆角属性
    GCD
    IOS 推送
    IOS 截图
    UIImage 截图
    UIImageView 动画
    AFN 判断网络状态
    Template 模式
  • 原文地址:https://www.cnblogs.com/wojianxin/p/12581056.html
Copyright © 2011-2022 走看看