以下是一个简单的IOU(Intersection over Union)计算的Python代码示例:

def calculate_iou(box1, box2):
    '计算两个矩形框的IOU(Intersection over Union)

    参数:
    - box1: 第一个矩形框,格式为 (x1, y1, x2, y2),其中 (x1, y1) 为左上角坐标,(x2, y2) 为右下角坐标
    - box2: 第二个矩形框,格式同上

    返回值:
    - iou: 两个矩形框的IOU值
    '
    # 计算两个矩形框的坐标
    x1, y1, x2, y2 = box1
    x3, y3, x4, y4 = box2

    # 计算两个矩形框的面积
    area1 = (x2 - x1 + 1) * (y2 - y1 + 1)
    area2 = (x4 - x3 + 1) * (y4 - y3 + 1)

    # 计算相交矩形框的坐标
    x5 = max(x1, x3)
    y5 = max(y1, y3)
    x6 = min(x2, x4)
    y6 = min(y2, y4)

    # 计算相交矩形框的面积
    inter_area = max(0, x6 - x5 + 1) * max(0, y6 - y5 + 1)

    # 计算IOU值
    iou = inter_area / float(area1 + area2 - inter_area)

    return iou

# 示例使用
box1 = (0, 0, 10, 10)
box2 = (5, 5, 15, 15)
iou = calculate_iou(box1, box2)
print('IOU:', iou)

这段代码定义了一个函数 calculate_iou,用于计算两个矩形框的IOU值。在示例中,我们传入两个矩形框的坐标 (0, 0, 10, 10)(5, 5, 15, 15),然后输出计算得到的IOU值。

Python代码:计算两个矩形框的IOU值

原文地址: https://www.cveoy.top/t/topic/o6uH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录