IoU计算

输入:vector<float>p1;//y1min,x1min,y1max,x1max;vector<float>p2;//y2min,x2min,y2max,x2max;输出:floatIoU代码:floatcomputeIoU(vector<float>p1,vector<float>p2){…

大家好,又见面了,我是你们的朋友全栈君。

输入:

vector<float> p1;  //y1min, x1min, y1max, x1max;
vector<float> p2;  //y2min, x2min, y2max, x2max;

输出:

float IoU

代码:

float computeIoU(vector<float> p1, vector<float> p2)
{ 
   
	//如果存在一个轴上,某个框的最小坐标大于另外一个框的最大坐标,则两框无重合。
	if(p2[3]-p1[1]<0)||(p1[3]-p2[1]<0)||(p1[2]-p2[0]<0)||(p2[2]-p1[0]<0)
		return 0;
	//两框必有重合,计算重合面积
	float h,w;
	if(p1[0]<p2[0]){ 
   
		if(p1[2]>p2[2]) h=p2[2]-p2[0];
		else h=p1[2]-p2[0];
		}
	else{ 
   
		if(p1[2]>p2[2]) h=p2[2]-p1[0];
		else h=p1[2]-p1[0];
		}
	if(p1[1]<p2[1]){ 
   
		if(p1[3]>p2[3]) w=p2[3]-p2[1];
		else w=p1[3]-p2[1];
		}
	else{ 
   
		if(p1[3]>p2[3]) w=p2[3]-p1[1];
		else w=p1[3]-p1[1];
		}
	// 容斥原理计算IoU
	return (h*w)/(p1[2]-p1[0])*(p1[3]-p1[1])+(p2[2]-p2[0])*(p2[3]-p2[1])-h*w)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128747.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • css中的clear_html clear用法

    css中的clear_html clear用法之前一直不明白clear的意义何在,一直以为clear就是去掉元素本身都浮动属性(即float:none)。最近再次接触到clear才弄明白clear的本来意义。下面直接看实例:1.没有清除浮动.div1{float:left;

    2025年11月1日
    4
  • PA功率放大器的设计「建议收藏」

    各种无线通信系统的发展,如GSM、WCDMA、TD-SCOMA、WiMAX和Wi-Fi,大大加速了半导体器件和射频功率放大器的研究进程。射频功率放大器在无线通信系统中起着至关重要的作用,它的设计好坏影响着整个系统的性能,因此,无线系统需要设计性能良好的放大器。而且,为了适应无线系统的快速发展,产品开发的周期也是一个重要因素。另外,在各种无线系统中由于不同调制类型和多载波信号的采用,射频工程师为减小功率放大器的非线性失真,尤其是设计无线基站应用的高功率放大器时面临着巨大的挑战。

    2022年4月11日
    213
  • docker卸载命令_docker删除文件

    docker卸载命令_docker删除文件使用yum安装docker(安装过程可以参照linux安装docker),如需卸载docker可以按一下步骤操作:1、查看当前docker状态如果是运行状态则停掉systemctlstopdocker2、查看yum安装的docker文件包yumlistinstalled|grepdocker查看docker相关的rpm源文件rpm-qa|grepdocker3、删除所有安装的docker文件包yum-yremovedoc

    2025年10月8日
    6
  • maven使用入门[通俗易懂]

    maven使用入门[通俗易懂]maven面临的问题一个项目就是一个工程。如果项目非常大,最好是每一个模块对应一个工程。借助maven可以将一个项目拆分成多个工程项目中需要的jar必须要手动”复制”,”粘贴”到WEB-INF/lib目录下,带来的问题是:同样的jar包文件重复出现在不同的项目工程中,浪费空间。maven可以将jar仅仅保存在”仓库”中,有需要使用的工程”引用”这个文件接口,并不需要真的把jar包复制过来jar包需要别人替我们准备好,或到官网下载。不同技术的官网提供jar包下载的形式是五花八门的,有些技术的官网就是

    2022年8月8日
    6
  • 京东商城购物体验报告_京东如何运用大数据

    京东商城购物体验报告_京东如何运用大数据京东购物在微信等场景下的算法应用实践

    2022年4月21日
    65
  • 解决修改PyCharm源后添加源信任的问题

    解决修改PyCharm源后添加源信任的问题这里写自定义目录标题问题描述解决办法方法一(临时)方法二WindowsLinuxmacOS问题描述使用PyCharm内置的包管理修改默认源为豆瓣源后出现报错:“Therepositorylocatedatpypi.douban.comisnotatrustedorsecurehostandisbeingignored”解决办法方法一(临时)在选择安装包的右…

    2022年8月28日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号