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的Django框架中的URL配置与松耦合
Jul 15 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
Jul 15 Python
Python中字典和集合学习小结
Jul 07 Python
Python PyQt5标准对话框用法示例
Aug 23 Python
pandas 实现字典转换成DataFrame的方法
Jul 04 Python
linux环境中没有网络怎么下载python
Jul 07 Python
Python3 虚拟开发环境搭建过程(图文详解)
Jan 06 Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
Apr 20 Python
python执行js代码的方法
May 13 Python
Pycharm 如何设置HTML文件自动补全代码或标签
May 21 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 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生成随机字符串(3种方法)
2015/09/25 PHP
基于php实现的验证码小程序
2016/12/13 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
2014/02/04 Javascript
JS实现div居中示例
2014/04/17 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
详解React服务端渲染从入门到精通
2019/03/28 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python发送arp欺骗攻击代码分析
2014/01/16 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
python 网络编程详解及简单实例
2017/04/25 Python
Python:Scrapy框架中Item Pipeline组件使用详解
2017/12/27 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
python pandas时序处理相关功能详解
2019/07/03 Python
python批量解压zip文件的方法
2019/08/20 Python
django框架两个使用模板实例
2019/12/11 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
2020/05/21 Python
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
鱼油专家:Omegavia
2016/10/10 全球购物
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
英文翻译的自我评价语句
2013/10/04 职场文书
优秀交警事迹材料
2014/01/26 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
五年级小学生评语
2014/12/26 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
新教师教学工作总结
2015/08/14 职场文书