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 相关文章推荐
在python3环境下的Django中使用MySQL数据库的实例
Aug 29 Python
django定期执行任务(实例讲解)
Nov 03 Python
PyQt5每天必学之事件与信号
Apr 20 Python
对python的文件内注释 help注释方法
May 23 Python
python opencv旋转图像(保持图像不被裁减)
Jul 26 Python
python远程调用rpc模块xmlrpclib的方法
Jan 11 Python
Python OpenCV实现视频分帧
Jun 01 Python
浅谈Django中view对数据库的调用方法
Jul 18 Python
python输出第n个默尼森数的实现示例
Mar 08 Python
Keras Convolution1D与Convolution2D区别说明
May 22 Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 Python
python中random.randint和random.randrange的区别详解
Sep 20 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中HTML标签过滤技巧
2014/01/07 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
DOM精简教程
2006/10/03 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
js单例模式的两种方案
2013/10/22 Javascript
javascript按位非运算符的使用方法
2013/11/14 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
jQuery删除节点用法示例(remove方法)
2016/09/08 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
node.js的事件机制
2017/02/08 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
js操作二进制数据方法
2018/03/03 Javascript
node.js中express模块创建服务器和http模块客户端发请求
2019/03/06 Javascript
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
python进阶教程之词典、字典、dict
2014/08/29 Python
利用Python的Django框架生成PDF文件的教程
2015/07/22 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
python实现聊天小程序
2018/03/13 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
pycharm创建一个python包方法图解
2019/04/10 Python
浅谈Python type的使用
2019/11/19 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
Pandas的数据过滤实现
2021/01/15 Python
新西兰便宜隐形眼镜购买网站:QUICKLENS New Zealand
2019/03/02 全球购物
公司任命书范本
2014/06/04 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python