Python实现计算机视觉中IoU计算的完整代码解析

Theo
Theo
发布时间:2026-10-13 | 4人浏览过
原创

本文详细解析了使用Python计算计算机视觉中边界框交并比(IoU)的实现方法。通过中心点坐标与宽高参数,代码逻辑判断矩形框是否存在交集,并计算重叠面积与总面积之比。该实例适用于目标检测任务中的模型评估,提供了可直接运行的完整函数定义及调用示例,帮助开发者快速掌握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, 2, 2, 2, 1, 2, 2)

if __name__ == '__main__':
  main()

以上关于Python计算机视觉中IoU计算的实例分享完毕,希望能为读者提供参考,并欢迎大家继续支持本站获取更多技术内容。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表