python计算二维矩形IOU实例


Posted in Python onJanuary 18, 2020

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

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

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

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 相关文章推荐
Python中利用sorted()函数排序的简单教程
Apr 27 Python
详解Django中的ifequal和ifnotequal标签使用
Jul 16 Python
详解Python中的Descriptor描述符类
Jun 14 Python
解决Python3.5+OpenCV3.2读取图像的问题
Dec 05 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
Python模拟FTP文件服务器的操作方法
Feb 18 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
Apr 13 Python
python爬虫多次请求超时的几种重试方法(6种)
Dec 01 Python
python 实现Harris角点检测算法
Dec 11 Python
python 对象真假值的实例(哪些视为False)
Dec 11 Python
详解Python中的进程和线程
Jun 23 Python
解决python replace函数替换无效问题
Jan 18 #Python
使用Python来做一个屏幕录制工具的操作代码
Jan 18 #Python
pytorch 状态字典:state_dict使用详解
Jan 17 #Python
Python标准库itertools的使用方法
Jan 17 #Python
Python实现投影法分割图像示例(二)
Jan 17 #Python
Python常用库大全及简要说明
Jan 17 #Python
Python Sphinx使用实例及问题解决
Jan 17 #Python
You might like
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
2013/11/07 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
什么情况下可以不写PHP的闭合标签“?&gt;”
2014/08/28 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
jQuery 常见学习网站与参考书
2009/11/09 Javascript
JavaScript中常见陷阱小结
2010/04/27 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
实例详解angularjs和ajax的结合使用
2015/10/22 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
Vue封装的组件全局注册并引用
2019/07/24 Javascript
vue a标签点击实现赋值方式
2020/09/07 Javascript
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
简单了解django缓存方式及配置
2019/07/19 Python
python dict乱码如何解决
2020/06/07 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
十一酒店活动方案
2014/02/20 职场文书
专科应届毕业生求职信
2014/06/04 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
119消防日活动总结
2014/08/29 职场文书
反四风对照检查材料
2014/09/22 职场文书
家庭贫困证明
2014/09/23 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers
Python函数对象与闭包函数
2022/04/13 Python