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对两个有序列表进行合并和排序的例子
Jun 13 Python
使用IPython来操作Docker容器的入门指引
Apr 08 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
Apr 28 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
python递归全排列实现方法
Aug 18 Python
python实现简易动态时钟
Nov 19 Python
pytorch1.0中torch.nn.Conv2d用法详解
Jan 10 Python
python数字类型math库原理解析
Mar 02 Python
基于python实现模拟数据结构模型
Jun 12 Python
python如何删除列为空的行
Jul 17 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 Python
Flask处理Web表单的实现方法
Jan 31 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
linux命令之调试工具strace的深入分析
2013/06/03 PHP
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
2014/05/15 Javascript
js星星评分效果
2014/07/24 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
使用yeoman构建angular应用的方法
2017/08/14 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
2019/03/13 Javascript
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
MAC中PyCharm设置python3解释器
2017/12/15 Python
python实现图片批量压缩程序
2018/07/23 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
苹果Mac升级:MacSales.com
2017/11/20 全球购物
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
祖国在我心中的演讲稿
2014/05/04 职场文书
项目合作协议书
2014/09/23 职场文书
承诺函范文
2015/01/21 职场文书
检讨书范文2000字
2015/01/28 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android