python计算二维矩形IOU实例

 更新时间:2020年01月18日 09:12:41   作者:York1996  
今天就为大家分享一篇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

以上这篇python计算二维矩形IOU实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 利用Python第三方库xlrd读取Excel中数据实例代码

    利用Python第三方库xlrd读取Excel中数据实例代码

    python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库,下面这篇文章主要给大家介绍了关于利用Python第三方库xlrd读取Excel中数据的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Python格式化css文件的方法

    Python格式化css文件的方法

    这篇文章主要介绍了Python格式化css文件的方法,实例分析了Python操作文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 一文详解Python中多进程和进程池的使用方法

    一文详解Python中多进程和进程池的使用方法

    这篇文章将介绍Python中多进程和进程池的使用方法,并提供一些实用的案例供大家参考,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-04-04
  • Python利用matplotlib实现饼图绘制

    Python利用matplotlib实现饼图绘制

    Pyplot作为Matplotlib的子库,提供了和MATLAB差不多的绘图API。因此Pyplot作为常用的绘图模块,能很方便让用户绘制2D图表。本文将为大家介绍如何利用Matplotlib绘制饼图,感兴趣的小伙伴可以了解一下
    2021-12-12
  • 详解python实现数据归一化处理的方式:(0,1)标准化

    详解python实现数据归一化处理的方式:(0,1)标准化

    这篇文章主要介绍了详解python实现数据归一化处理的方式:(0,1)标准化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python中的闭包详细介绍和实例

    Python中的闭包详细介绍和实例

    这篇文章主要介绍了Python中的闭包详细介绍和实例,本文先是详细讲解了闭包的相关知识,然后给出了python中闭包例子、lamada例子,需要的朋友可以参考下
    2014-11-11
  • pytorch图片分割原理分析

    pytorch图片分割原理分析

    自Transformer模型被应用于计算机视觉领域后,图像分割技术得到了进一步的发展,但图像分割操作复杂,特别是对张量的处理,涉及多种变换方法,其中,view/reshape用于改变数据形状,而permute/transpose用于改变数据的维度顺序
    2024-10-10
  • python异步编程 使用yield from过程解析

    python异步编程 使用yield from过程解析

    这篇文章主要介绍了python异步编程 使用yield from过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 学会python自动收发邮件 代替你问候女友

    学会python自动收发邮件 代替你问候女友

    这篇文章主要为大家详细介绍了python实现自动收发邮件,代替你问候女友,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Python实现批量识别银行卡号码以及自动写入Excel表格步骤详解

    Python实现批量识别银行卡号码以及自动写入Excel表格步骤详解

    这篇文章主要介绍了使用Python实现高效摸鱼,批量识别银行卡号码并且自动写入Excel表格,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01

最新评论