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 相关文章推荐
django自定义Field实现一个字段存储以逗号分隔的字符串
Apr 27 Python
零基础写python爬虫之HTTP异常处理
Nov 05 Python
python 线程的暂停, 恢复, 退出详解及实例
Dec 06 Python
Python利用Beautiful Soup模块搜索内容详解
Mar 29 Python
详解TensorFlow查看ckpt中变量的几种方法
Jun 19 Python
通过python连接Linux命令行代码实例
Feb 18 Python
基于jupyter代码无法在pycharm中运行的解决方法
Apr 21 Python
Django中文件上传和文件访问微项目的方法
Apr 27 Python
基于Python爬虫采集天气网实时信息
Jun 05 Python
想学画画?python满足你!
Dec 24 Python
python解析json数据
Apr 29 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中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
浅谈php中include文件变量作用域
2015/06/18 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
让IE6支持min-width和max-width的方法
2010/06/25 Javascript
js类型检查实现代码
2010/10/29 Javascript
Script的加载方法小结
2011/01/12 Javascript
让textarea自动调整大小的js代码
2011/04/12 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
JavaScript实现预览本地上传图片功能完整示例
2019/03/08 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
python fabric实现远程操作和部署示例
2014/03/25 Python
Python写的Socks5协议代理服务器
2014/08/06 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
python实现PCA降维的示例详解
2020/02/24 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
python 实现批量图片识别并翻译
2020/11/02 Python
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
如何利用cmp命令比较文件
2013/09/23 面试题
公务员总结性个人自我评价
2013/12/05 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
小学新教师个人总结
2015/02/05 职场文书
Python图片检索之以图搜图
2021/05/31 Python