python实现的Iou与Giou代码


Posted in Python onJanuary 18, 2020

最近看了网上很多博主写的iou实现方法,但Giou的代码似乎比较少,于是便自己写了一个,新手上路,如有错误请指正,话不多说,上代码:

def Iou(rec1,rec2):
  x1,x2,y1,y2 = rec1 #分别是第一个矩形左右上下的坐标
  x3,x4,y3,y4 = rec2 #分别是第二个矩形左右上下的坐标
  area_1 = (x2-x1)*(y1-y2)
  area_2 = (x4-x3)*(y3-y4)
  sum_area = area_1 + area_2
  w1 = x2 - x1#第一个矩形的宽
  w2 = x4 - x3#第二个矩形的宽
  h1 = y1 - y2
  h2 = y3 - y4
  W = min(x1,x2,x3,x4)+w1+w2-max(x1,x2,x3,x4)#交叉部分的宽
  H = min(y1,y2,y3,y4)+h1+h2-max(y1,y2,y3,y4)#交叉部分的高
  Area = W*H#交叉的面积
  Iou = Area/(sum_area-Area)
  return Iou

def Giou(rec1,rec2):
  x1,x2,y1,y2 = rec1 #分别是第一个矩形左右上下的坐标
  x3,x4,y3,y4 = rec2
  iou = Iou(rec1,rec2)
  area_C = (max(x1,x2,x3,x4)-min(x1,x2,x3,x4))*(max(y1,y2,y3,y4)-min(y1,y2,y3,y4))
  area_1 = (x2-x1)*(y1-y2)
  area_2 = (x4-x3)*(y3-y4)
  sum_area = area_1 + area_2
  w1 = x2 - x1#第一个矩形的宽
  w2 = x4 - x3#第二个矩形的宽
  h1 = y1 - y2
  h2 = y3 - y4
  W = min(x1,x2,x3,x4)+w1+w2-max(x1,x2,x3,x4)#交叉部分的宽
  H = min(y1,y2,y3,y4)+h1+h2-max(y1,y2,y3,y4)#交叉部分的高
  Area = W*H#交叉的面积
  add_area = sum_area - Area #两矩形并集的面积
  end_area = (area_C - add_area)/area_C #(c/(AUB))/c的面积
  giou = iou - end_area
  return giou


rec1 = (27,47,130,90)
rec2 = (30,68,150,110)
iou = Iou(rec1,rec2)
giou = Giou(rec1,rec2)
print("Iou = {},Giou = {}".format(iou,giou))

以上这篇python实现的Iou与Giou代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python动态加载模块的3种方法
Nov 22 Python
对于Python的框架中一些会话程序的管理
Apr 20 Python
python Pygame的具体使用讲解
Nov 03 Python
python之消除前缀重命名的方法
Oct 21 Python
python 处理string到hex脚本的方法
Oct 26 Python
Python通用循环的构造方法实例分析
Dec 19 Python
详解numpy的argmax的具体使用
May 27 Python
python自动化测试之DDT数据驱动的实现代码
Jul 23 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
Aug 04 Python
python 实现绘制整齐的表格
Nov 18 Python
Python生成器generator原理及用法解析
Jul 20 Python
Django model重写save方法及update踩坑详解
Jul 27 Python
Python 简单计算要求形状面积的实例
Jan 18 #Python
python实现用类读取文件数据并计算矩形面积
Jan 18 #Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 #Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 #Python
利用setuptools打包python程序的方法步骤
Jan 18 #Python
python计算二维矩形IOU实例
Jan 18 #Python
解决python replace函数替换无效问题
Jan 18 #Python
You might like
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
FCK调用方法..
2006/12/21 Javascript
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
2016/05/03 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
简单实现JS倒计时效果
2016/12/23 Javascript
微信小程序checkbox组件使用详解
2018/01/31 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
Python函数学习笔记
2008/10/07 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
Python中super函数用法实例分析
2019/03/18 Python
python实现简单贪吃蛇游戏
2020/09/29 Python
通过Python pyecharts输出保存图片代码实例
2020/11/25 Python
html5的input的required使用中遇到的问题及解决方法
2018/04/24 HTML / CSS
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
自荐信模版
2013/10/24 职场文书
中学教师管理制度
2014/01/14 职场文书
会计自我鉴定
2014/02/04 职场文书
会计电算化学生个人的自我评价
2014/02/08 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
大国崛起日本观后感
2015/06/02 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书
Python中递归以及递归遍历目录详解
2021/10/24 Python
Selenium浏览器自动化如何上传文件
2022/04/06 Python