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查找相似单词的方法
Mar 05 Python
python3实现ftp服务功能(客户端)
Mar 24 Python
Python工程师面试必备25条知识点
Jan 17 Python
Python如何抓取天猫商品详细信息及交易记录
Feb 23 Python
python实现NB-IoT模块远程控制
Jun 20 Python
python scipy求解非线性方程的方法(fsolve/root)
Nov 12 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
用Python逐行分析文件方法
Jan 28 Python
python 含子图的gif生成时内存溢出的方法
Jul 07 Python
python实现两张图片拼接为一张图片并保存
Jul 16 Python
tensorflow之tf.record实现存浮点数数组
Feb 17 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
Feb 02 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
PHP5在Apache下的两种模式的安装
2006/09/05 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
Prototype String对象 学习
2009/07/19 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
解析js如何获取css样式
2016/12/11 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
微信小程序实现点击卡片 翻转效果
2019/09/04 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
Python实现大文件排序的方法
2015/07/10 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
Kent & Curwen:与大卫·贝克汉姆合作
2017/06/13 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
应届大学生自荐信格式
2013/09/21 职场文书
大四学年自我鉴定
2013/11/13 职场文书
企业宣传策划方案
2014/05/29 职场文书
创先争优公开承诺书
2014/08/30 职场文书
火烧圆明园观后感
2015/06/03 职场文书
2016年“抗战胜利纪念日”71周年校园广播稿
2015/12/18 职场文书