转载:
https://blog.csdn.net/kh1445291129/article/details/51149849/
https://blog.csdn.net/m0_37592397/article/details/81319130

一、函数列表

Rect::Clone               该函数用来创建一个与当前矩形对象相同的矩形对象Rect::contains(point&)   该函数用来决定该点是否在此矩形框内Rect::contains(rect&)  该函数用来决定另一个矩形框是否在这个矩形框内Rect::contains(INT,INT)   该函数用来决定点(x,y)是否在此矩形框内Rect::equals           该函数用来判定量矩形对象是否相等Rect::getbottom             该函数用来获取矩形框底部边缘的y值Rect::getbounds            该函数用来为这个矩形框创建一个副本Rect::getleft          该函数用来获取矩形框左边缘的x值Rect::getlocation       该函数用来获取矩形框左上角的坐标Rect::getright          该函数用来获取矩形框右边缘的x值Rect::getsize           该函数用来获取矩形框的宽度和高度Rect::gettop            该函数用来获取矩形框左边缘的y值Rect::inflate(INT,INT)  该函数通过dx在左右边框上扩大该矩形框,通过dy在上下边框上扩大该矩形框Rect::inflate(point&)    该函数通过point.x的值在左右边框上来扩大该矩形框,通过point.y的值在上下边框上来扩大该矩形框Rect::intsect(rects&;rects&;rects&) 该函数用来确定两个矩形框的交集,并将这一结果储存在一个rect对象中Rect::intsect(rects&)   该函数用来将此矩形框与另一矩形框的交集来替换这一矩形框Rect::intersectwith      该函数用来判断该矩形框是否与另一个矩形框相交Rect::isemptyarea         该函数用来该矩形框是否为空Rect::offset(INT,INT)  该函数用来移动此矩形框,通过水平的移动dx距离,以及垂直移动dy距离Rect::offset(point&)    该函数用来水平地移动该矩形框point.x距离,以及垂直地移动该矩形框point.y距离Rect::union              该函数用来决定两个矩形的合并,并将结果保存在一个rect对象中

二、常见函数用法

//如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能:
rect.area();     //返回rect的面积 5000
rect.size();     //返回rect的尺寸 [50 × 100]
rect.tl();       //返回rect的左上顶点的坐标 [100, 50]
rect.br();       //返回rect的右下顶点的坐标 [150, 150]
rect.width();    //返回rect的宽度 50
rect.height();   //返回rect的高度 100
rect.contains(Point(x, y));  //返回布尔变量,判断rect是否包含Point(x, y)点//还可以求两个矩形的交集和并集
rect = rect1 & rect2;
rect = rect1 | rect2;//还可以对矩形进行平移和缩放
rect = rect + Point(-100, 100);   //平移,也就是左上顶点的x坐标-100,y坐标+100
rect = rect + Size(-100, 100);    //缩放,左上顶点不变,宽度-100,高度+100//还可以对矩形进行对比,返回布尔变量
rect1 == rect2;
rect1 != rect2;

三、常用但没定义的函数

//OpenCV里貌似没有判断rect1是否在rect2里面的功能,所以自己写一个吧
bool isInside(Rect rect1, Rect rect2)
{return (rect1 == (rect1&rect2));
}//OpenCV貌似也没有获取矩形中心点的功能,还是自己写一个
Point getCenterPoint(Rect rect)
{Point cpt;cpt.x = rect.x + cvRound(rect.width/2.0);cpt.y = rect.y + cvRound(rect.height/2.0);return cpt;
}//围绕矩形中心缩放
Rect rectCenterScale(Rect rect, Size size)
{rect = rect + size;  Point pt;pt.x = cvRound(size.width/2.0);pt.y = cvRound(size.height/2.0);return (rect-pt);
}

opencv中rect的用法相关推荐

  1. OpenCV中cv2的用法

    OpenCV中cv2的用法 一.读入图像 使用函数cv2.imread(filepath,flags)读入一副图片 filepath:要读入图片的完整路径 flags:读入图片的标志  cv2.IMR ...

  2. openCV中convertTo的用法1

    convertTo的用法 src.convertTo(dst, type, scale, shift) img参数为图像数据来源,其类型为Mat. 注意也不是所有格式的Mat型数据都能被使用保存为图片 ...

  3. opencv中的Point2f用法避雷

    Point2f(x,y)中的x代表在图像中的列,y代表图像中的行. 用法: Point2f a=Point2f(2,1.5): 或者 Point2f a(2,1.5): 或者 Point2f a; a ...

  4. Opencv中rect的功能应用

    //如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能: rect.area(); //返回rect的面积 5000 rect.size(); //返回 ...

  5. opencv中cvtcolor()函数用法总结(07)

    还是老习惯,分三步走.第一步,功能说明.第二步,结果图显示,第三步,API详解.第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂.) 第一步,功能说明:cvtcolor()函数是一个颜 ...

  6. 关于Opencv中Rect和Rectangle函数

    1)构造函数 Rect(x,y,width,height),x, y 为左上角坐标, width, height 则为长和宽. 2)方法 contain(Point) 可返回改点是否在矩形内. 3)方 ...

  7. Opencv中Rect类

    Rect类成员变量x.y.width.height,分别为左上角点的坐标和矩形的宽和高. 如果创建一个Rect对象rect(100, 50, 50, 100) Rect rect(100, 50, 5 ...

  8. python中rect用法_【opencv基础】Rect类的神奇用法

    前言 最近看github上源码发现对两个cv::Rect使用相与(&)操作,猛地感觉自己蒙啦,Rect类还有这种神奇用法?!翻看opencv官网Rect类,果然如此! opencv中Rect类 ...

  9. OpenCV中cvAdds和cvAdd中的mask的用法探讨

    OpenCV中cvAdds和cvAdd中的mask的用法探讨 Fn : 包含 mask 参数的一些函数如下 [摘自opencv 2.3.1版本 C++] void add(InputArray src ...

  10. 关于OpenCV中常见函数用法总结

    关于OpenCV中常见函数用法总结 一 一般Mat的赋值操作 二 求Mat中的最大值以及最小值 三 randn()函数给图像添加高斯噪声 四 mean()函数的用法 五 系统计时器 六 矩阵之间的四则 ...

最新文章

  1. b2b2c源码 java_java B2B2C源码电子商务平台 ---搭建Eureka注册中心
  2. 特殊权限之set uid,set gid,sticky bit以及软链接和硬链接
  3. 基于java ssm springboot选课推荐交流平台系统设计和实现
  4. Java面试题:1-100之间的数,被放在数组a[99]中,有一个数没有包含在其中,用java代码找出这个数...
  5. ToF是否是噱头?小米王腾发长文详解...
  6. 阿里iconfont图库官网网址
  7. JSK-T1011 反向输出一个三位数【入门】
  8. 北京工业大学微型计算机接口技术考试,汇编语言微机原理及接口技术期末试卷含答案...
  9. 仿网易云音乐html代码,HTML作业-仿网易云音乐项目
  10. SCOR模型(转载)
  11. 超声图像拼接及三维重建
  12. 网站被ddos攻击了怎么办?网站正在被ddos攻击怎么解决
  13. 基于Java实现的定时给微信好友发送消息
  14. Macbook pro苹果笔记本电脑安装双系统图文教程
  15. github排版混乱
  16. nisp学习-1.1信息安全与网络空间安全
  17. Nginx使用(二)
  18. 运行单独的vue页面
  19. bootBox 提示框插件
  20. 常见信息安全威胁与防范以及安全防御未来的发展趋势

热门文章

  1. 安卓开发中wifi连接打印机打印图片
  2. 深度Linux Wine+DXVK
  3. Ubuntu 14.04解决minidwep-gtk无法启动问题
  4. JAVA综合实习报告
  5. 曲线坐标系与直角坐标系转换(一)——基础:matlab插值函数简介
  6. 利用matlab实现h 控制,利用matlab实现H-infinity鲁棒控制
  7. JDK7和JDK8的区别
  8. android youtube免谷歌,youtube免谷歌框架
  9. 刘汝佳--小学生算数
  10. 大华电子秤 手动变价方法