2019-03-03

图像处理的交并比(IoU)

交并比(Intersection-over-Union,IoU),目标检测中使用的一个概念,是产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率,即它们的交集与并集的比值。最理想情况是完全重叠,即比值为1。

python实现

def calculateIoU(candidateBound, groundTruthBound):
    cx1 = candidateBound[0]
    cy1 = candidateBound[1]
    cx2 = candidateBound[2]
    cy2 = candidateBound[3]
 
    gx1 = groundTruthBound[0]
    gy1 = groundTruthBound[1]
    gx2 = groundTruthBound[2]
    gy2 = groundTruthBound[3]
 
    carea = (cx2 - cx1) * (cy2 - cy1) #C的面积
    garea = (gx2 - gx1) * (gy2 - gy1) #G的面积
 
    x1 = max(cx1, gx1)
    y1 = max(cy1, gy1)
    x2 = min(cx2, gx2)
    y2 = min(cy2, gy2)
    w = max(0, (x2 - x1))
    h = max(0, (y2 - y1))
    area = w * h #C∩G的面积
 
    iou = area / (carea + garea - area)
 
    return iou

vc++生成程序不需要.net运行环境的可以执行exe程序的方法

1、右键项目-属性

2、配置属性-C/C++-代码生成

3、运行时库-选择/mt或者/mtd

即 Multi-threaded (/MT) 或 Multi-threaded Debug (/MTd) 不要选 Multi-threaded DLL (/MD) Multi-threaded Debug DLL (/MDd)

4、配置属性-C/C++-常规

5、选择在静态库中使用MFC

6、编译运行即可

你可能感兴趣的:(2019-03-03)