首页 > 编程语言 >C++ opencv计算两个cv::Rect的重复面积

C++ opencv计算两个cv::Rect的重复面积

时间:2024-01-19 23:34:33浏览次数:29  
标签:重叠 50 C++ opencv rect2 rect1 cv Rect

C++  opencv计算两个cv::Rect的重复面积

 

 

#include <opencv2/opencv.hpp>
#include <iostream>

int main() {
    // 创建两个矩形
    cv::Rect rect1(10, 10, 50, 50);  // (x, y, width, height)
    cv::Rect rect2(30, 30, 50, 50);
    // 检查两个矩形是否重叠
    if (rect1.x <= rect2.x + rect2.width && rect1.x + rect1.width >= rect2.x &&
        rect1.y <= rect2.y + rect2.height && rect1.y + rect1.height >= rect2.y) {
        // 如果重叠,计算重叠区域的面积
        cv::Rect overlap = rect1 & rect2;  // 创建重叠区域矩形
        double overlapArea = overlap.area();  // 计算重叠区域面积
        std::cout << "Overlap area: " << overlapArea << std::endl;
    } else {
        std::cout << "No overlap" << std::endl;
    }
    return 0;
}

 

 

 

#########################

标签:重叠,50,C++,opencv,rect2,rect1,cv,Rect
From: https://www.cnblogs.com/herd/p/17923653.html

相关文章

  • c++函数默认参数及占位参数
    一.函数默认参数在c++中,函数形参列表中的形参是可以有默认值的语法:如果我们自己传入数据,就用自己的数据,如果没有,就用默认值注意:1.如果某个位置参数有默认值,那么从这个位置往后,从左往右,必须都要有默认值2.如果函数声明有默认值,函数实现的时候就不能有默认参数。(声明和实现只......
  • c++引用
    一.引用的基本使用作用:给变量起别名语法:数据类型&别名=原名二.引用注意事项引用必须初始化引用在初始化后,不可以改变三.引用做函数参数作用:函数传参时,可以利用引用技术让形参修饰实参优点:可以简化指针修饰实参四.引用做函数返回值注意:1.不要返回局部变量的引用......
  • 浅谈C++简单前缀和实现
    浅谈前缀和2023.9.28\(tips:\)文章持续更新中,欢迎关注\(upd:\)文章从洛谷博客迁移至博客园(\(2024.1.19\))洛谷B3612【深进1.例1】求区间和题目大E:有一个内部元素个数为\(n\)的数组\(a\),现在有m次询问,求a[l]到a[r]之间所有元素的和朴素的做法:#include<iostream>usin......
  • C++-类和对象(1)
    引言:C++语言兼容C语言的基础上,更多的是面向对象进行编程,即相较于事务处理的流程,更侧重于处理过程中涉及到的类以及对象。今天向大家分享C++中的类与对象相关知识。1.类的定义:常使用class关键字定义一个类:由两部分构成,分别是成员属性和成员函数。classclassName//类名{//成员......
  • riscv linker relaxations 是什么
    什么是linkerrelaxations由于链接时携带一些符号地址信息,可以执行一些编译时难以或者不大可能实现的优化。LinkerRelaxtion与传统编译时期的优化是不一样的,此优化发生在链接时。通常情况下,在链接时,改变代码的执行序列是有风险的,因为语义信息此时会丢失,链接器看到也仅是字节流......
  • C++中对象作为函数参数进行传参
    在C++语言环境中,对象是类的一个实例。 有三种方式:1、直接使用对象作为函数参数,形参和实参是不同的对象,它们所占地址空间不同,因此形参的改变并不影响实参的值。2、传入指向对象的指针作为函数参数,所谓“传址调用”,就是在函数调用时使用实参对象的地址,形参和实参都指向同一个地......
  • CVE-2023-46604
    ApacheActiveMQOpenWire协议反序列化命令执行漏洞(CVE-2023-46604)ApacheActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持java消息服务、集群、SpringFramework等。OpenWire协议在ActiveMQ中被用于多语言客户端与服务端通信。在ApacheActvieMQ5.18......
  • CVE-2012-1823复现练习
    环境搭建:DockerDesktop开启cd/CVE-2012-1823docker-composeup-d本地访问80端口分析PHP-CGI直接将用户的请求作为了PHP-CGI的参数执行,导致远程代码的执行。先上执行结果PHP的运行模式:CGI通用网关接口,接收网页浏览器的数据发送给web服务器,再把执行结果返回给浏览器参......
  • 实战技巧CVE-2015-0005
    启用SMB签名和通信会话签名后,应用服务器和客户端之间的所有流量都有签名验证保护,中间人gongji者因为无法伪造签名而不能与目标主机进行正常的通信。签名密钥SessionKey基于客户端账号的口令NTLM值生成,应用服务器在认证阶段从认证服务器获取;客户端采用和认证服务器相同的算法,基于自......
  • OpenCV仿射变换+投射变换+单应性矩阵
    OpenCV仿射变换+投射变换+单应性矩阵本来想用单应性求解小规模运动的物体的位移,但是后来发现即使是很微小的位移也会带来超级大的误差甚至错误求解,看起来这个方法各种行不通,还是要匹配知道深度了以后才能从三维仿射变换来入手了,纠结~estimateRigidTransform():计算多个二维......