python计算二维矩形IOU实例

作者:York1996 时间:2022-03-07 23:40:18 

计算交并比:交的面积除以并的面积。

要求矩形框的长和宽应该平行于图片框。不然不能用这样的公式计算。

原理,从一维上来理解:两条红线的距离之和减去黑色线之间的距离就是相交的距离。两条红线之和很容易算,两条黑线之间的距离就是最小的起点到到最大的末点,最小的起点好算,最大的末点就是两点加上各自长度之后的最大值。这就算出了一维的情况,二维的情况一样,计算二次而已。

python计算二维矩形IOU实例


def iou(rect1,rect2):
'''
计算两个矩形的交并比
:param rect1:第一个矩形框。表示为x,y,w,h,其中x,y表示矩形右上角的坐标
:param rect2:第二个矩形框。
:return:返回交并比,也就是交集比并集
'''
x1,y1,w1,h1=rect1
x2,y2,w2,h2=rect2

inter_w=(w1+w2)-(max(x1+w1,x2+w2)-min(x1,x2))
inter_h=(h1+h2)-(max(y1+h1,y2+h2)-min(y1,y2))

if inter_h<=0 or inter_w<=0:#代表相交区域面积为0
 return 0
#往下进行应该inter 和 union都是正值
inter=inter_w * inter_h

union=w1*h1+w2*h2-inter
return inter/union

来源:https://blog.csdn.net/york1996/article/details/92079129

标签:python,二维矩形,IOU
0
投稿

猜你喜欢

  • PHP使用星号隐藏用户名,手机和邮箱的实现方法

    2023-11-05 10:41:56
  • 关于多域名COOKIES作用域的问题

    2008-11-18 16:12:00
  • Python+Pygame实战之疯狂吃水果游戏的实现

    2021-09-17 11:37:58
  • Python reflect单例模式反射各个函数

    2022-11-11 08:52:51
  • CSS 的优先规则

    2009-01-08 12:40:00
  • 不要犯WEB字体编辑的10种错误

    2008-08-19 12:55:00
  • ORACLE 自动提交问题

    2009-06-19 17:58:00
  • Python 生成VOC格式的标签实例

    2021-09-09 04:39:07
  • Python关于抽奖系统的思考与设计思路

    2022-06-09 12:53:36
  • asp 实现检测字符串是否为纯字母和数字组合的函数

    2009-10-04 20:39:00
  • sqlserver中重复数据值只取一条的sql语句

    2012-06-06 19:46:31
  • Python文件处理与垃圾回收机制详情

    2023-06-14 16:36:17
  • 解决python写的windows服务不能启动的问题

    2023-01-21 04:10:38
  • 如何解决ORA-01843与NLS_DATE_FORMAT问题

    2023-06-30 20:57:14
  • python创建线程示例

    2021-07-21 00:20:37
  • 查询字符串中包含特殊字符的问题

    2009-01-09 13:13:00
  • Python+Pillow+Pytesseract实现验证码识别

    2023-07-19 14:50:44
  • python操作字典类型的常用方法(推荐)

    2023-01-17 17:05:33
  • PyTorch如何创建自己的数据集

    2022-10-17 05:22:17
  • 小技巧解决“FF不能读取outerHTML”的问题

    2009-02-10 10:44:00
  • asp之家 网络编程 m.aspxhome.com