当前位置:   article > 正文

目标检测的矩形IOU计算_如何求得目标检测框的长度和宽度

如何求得目标检测框的长度和宽度
# 以左上角为坐标原点,box1代表第一个矩形的左上角坐标和右下角坐标
# box2代表第二个矩形的左上角坐标和右下角坐标。
def get_IOU(box1, box2):
    x1 = box1[2]-box1[0]  # 第一个矩形长
    x2 = box2[2]-box2[0]  # 第二个矩形长
    y1 = box1[3]-box1[1]  # 第一个矩形宽
    y2 = box2[3]-box2[1]  # 第二个矩形宽
    x_range = max(box1[0], box1[2], box2[0], box2[2]) - min(box1[0], box1[2], box2[0], box2[2])  # 两个矩形长度范围
    y_range = max(box1[1], box1[3], box2[1], box2[3]) - min(box1[1], box1[3], box2[1], box2[3])  # 两个矩形宽度范围
    x_leng = x1 + x2 - x_range   # 重叠长度
    y_leng = y1 + y2 - y_range   # 重叠宽度
    if x_leng < 0 or y_leng < 0:
        return 0
    inter_area = x_leng * y_leng
    union_area = x1 * y1 + x2 * y2 - inter_area
    iou = inter_area / union_area
    print(x_leng, y_leng)
    print(inter_area, union_area)
    return iou
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/114131
推荐阅读
相关标签
  

闽ICP备14008679号