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实现简单的计时器功能函数
Mar 14 Python
Python中的rjust()方法使用详解
May 19 Python
Python简单连接MongoDB数据库的方法
Mar 15 Python
python分割列表(list)的方法示例
May 07 Python
Python二进制串转换为通用字符串的方法
Jul 23 Python
python程序封装为win32服务的方法
Mar 07 Python
python3发送邮件需要经过代理服务器的示例代码
Jul 25 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
Aug 09 Python
Python定义函数实现累计求和操作
May 03 Python
Python新手学习装饰器
Jun 04 Python
Python基于字典实现switch case函数调用
Jul 22 Python
如何在Python中妥善使用进度条详解
Apr 05 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
mysql 全文搜索 技巧
2007/04/27 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
2007/03/08 Javascript
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
2017/03/09 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
Django model update的多种用法介绍
2020/03/28 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
英文商务邀请信
2014/01/22 职场文书
优秀员工评语
2014/02/10 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
幼儿园安全责任书
2014/04/14 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
2014年标准化工作总结
2014/12/17 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
鲁冰花观后感
2015/06/10 职场文书
让子弹飞观后感
2015/06/11 职场文书
在js中修改html body的样式
2021/11/11 Javascript
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
Python如何用re模块实现简易tokenizer
2022/05/02 Python