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下的Mysql模块MySQLdb安装详解
Apr 09 Python
python将MongoDB里的ObjectId转换为时间戳的方法
Mar 13 Python
python目录与文件名操作例子
Aug 28 Python
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
Jul 24 Python
详解Python在七牛云平台的应用(一)
Dec 05 Python
利用python为运维人员写一个监控脚本
Mar 25 Python
python实现静态web服务器
Sep 03 Python
python定间隔取点(np.linspace)的实现
Nov 27 Python
kafka监控获取指定topic的消息总量示例
Dec 23 Python
如何在 Django 模板中输出 "{{"
Jan 24 Python
Python内置的数据类型及使用方法
Apr 13 Python
使用Python开发冰球小游戏
Apr 30 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
合作指挥官:孟斯克
2020/03/16 星际争霸
PHP面向对象编程快速入门
2006/12/14 PHP
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
JavaScript中的Repaint和Reflow用法详解
2015/07/27 Javascript
javascript获取系统当前时间的方法
2015/11/19 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
浅谈angularjs中响应回车事件
2017/04/24 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
python生成圆形图片的方法
2020/03/25 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
CSS3制作圆角图片和椭圆形图片
2016/07/08 HTML / CSS
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
全球度假村:Club Med
2017/11/27 全球购物
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
公务员个人自我评价分享
2013/11/06 职场文书
创业计划书中包含的9个方面
2013/12/26 职场文书
青春励志演讲稿
2014/04/29 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python