转自 http://blog.csdn.net/kh1445291129/article/details/51149849

  1. //如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能:
  2. rect.area();     //返回rect的面积 5000
  3. rect.size();     //返回rect的尺寸 [50 × 100]
  4. rect.tl();       //返回rect的左上顶点的坐标 [100, 50]
  5. rect.br();       //返回rect的右下顶点的坐标 [150, 150]
  6. rect.width();    //返回rect的宽度 50
  7. rect.height();   //返回rect的高度 100
  8. rect.contains(Point(x, y));  //返回布尔变量,判断rect是否包含Point(x, y)点
  9. //还可以求两个矩形的交集和并集
  10. rect = rect1 & rect2;
  11. rect = rect1 | rect2;
  12. //还可以对矩形进行平移和缩放
  13. rect = rect + Point(-100, 100); //平移,也就是左上顶点的x坐标-100,y坐标+100
  14. rect = rect + Size(-100, 100);  //缩放,左上顶点不变,宽度-100,高度+100
  15. //还可以对矩形进行对比,返回布尔变量
  16. rect1 == rect2;
  17. rect1 != rect2;
  18. //OpenCV里貌似没有判断rect1是否在rect2里面的功能,所以自己写一个吧
  19. bool isInside(Rect rect1, Rect rect2)
  20. {
  21. return (rect1 == (rect1&rect2));
  22. }
  23. //OpenCV貌似也没有获取矩形中心点的功能,还是自己写一个
  24. Point getCenterPoint(Rect rect)
  25. {
  26. Point cpt;
  27. cpt.x = rect.x + cvRound(rect.width/2.0);
  28. cpt.y = rect.y + cvRound(rect.height/2.0);
  29. return cpt;
  30. }
  31. //围绕矩形中心缩放
  32. Rect rectCenterScale(Rect rect, Size size)
  33. {
  34. rect = rect + size;
  35. Point pt;
  36. pt.x = cvRound(size.width/2.0);
  37. pt.y = cvRound(size.height/2.0);
  38. return (rect-pt);
  39. }

OpenCV的Rect矩形类用法的更多相关文章

  1. Opencv 使用Rect选取与设置窗口ROI

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50593825 首先看一下Rect对象的 ...

  2. CSS clip:rect矩形剪裁功能及一些应用介绍

    CSS clip:rect矩形剪裁功能及一些应用介绍 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.co ...

  3. OpenCV中Mat的基本用法:创建、复制

    OpenCV中Mat的基本用法:创建.复制 一.Mat类的创建: 1.方法一: 通过读入一张图像,直接将其转换成Mat对象. Mat image = imread("test.jpg&quo ...

  4. YTU 2602: 熟悉题型——类设计( 矩形类定义【C++】)

    2602: 熟悉题型--类设计( 矩形类定义[C++]) 时间限制: 1 Sec  内存限制: 128 MB 提交: 183  解决: 119 题目描述 定义一个矩形类,数据成员包括左下角和右上角坐标 ...

  5. 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 用法

    装饰者模式(Decorator Pattern) Java的IO类 用法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26716 ...

  6. 矩形类定义【C++】

    Description 定义一个矩形类,数据成员包括左下角和右上角坐标,定义的成员函数包括必要的构造函数.输入坐标的函数,以及计算并输出矩形面积的函数.要求使用提示中给出的测试函数并不得改动. Inp ...

  7. C# 中Datatime类用法总结

    C# 中Datatime类用法总结 收集了一些记录下来,这些有的是从网上找的,有些是自己使用到的: DateTime dt = DateTime.Now; dt.ToString();//2005-1 ...

  8. CSS clip:rect矩形剪裁功能及应用

    .clip{ position:absolute; clip: rect(10px 30px 20px 10px); } 最后有必要说明下:clip:rect矩形剪裁只能作用于position:abs ...

  9. php常用表单验证类用法实例

    <?php /** * 页面作用:常用表单验证类 * 作 者:欣然随风 * QQ:276624915 */ class class_post { //验证是否为指定长度的字母/数字组合 func ...

随机推荐

  1. DbEntry 简单实现

    在着手编码之前首先安装DbEntry DbEntry.Net.4.1.Setup.zip 在建立类库时选择 DbEntryClassLibrary 如图 DbEntryClassLibrary1 中建 ...

  2. 关于verilog中小数直接赋值

    verilog中小数直接赋值的话小数会近似成1,如0.1,0.6,0.9赋值的话就会变成1,5.1,5.9也都会变成6.并且quartus默认小数是64位.

  3. nginx 流量拷贝模块 ngx_http_mirror_module 安装试用

    1. 下载源码编译 https://nginx.org/download/nginx-1.13.4.tar.gz   2. 下载依赖模块包       这里直接yum 安装 yum -y instal ...

  4. 关于Spring框架你解多少?

    类似于谈谈你对Spring的了解的题目,在很多面试中都会被提到的. Spring,英文意思是春天的意思.在java的世界里,Spring是一个现时非常流行的开源应用框架. Spring 框架是一个分层 ...

  5. erlang分布式例子

    抄袭自 http://www.blogjava.net/killme2008/archive/2007/06/29/127099.html 简单的说,就是 主机上需要同时启用短节点名,或者长节点名 保 ...

  6. nginx相关关键词

    nginx在unix系统中会以daemon(守护进程)方式在后台运行; nginx默认模式是多线程的; nginx会有一个master进程和多个worker进程,master进程主要用来管理worke ...

  7. 分布式开发框架Pebble使用说明

    简介 Pebble定位为一个好用.可靠.高性能.易扩展的分布式开发框架,支持多种使用方式: 使用完整的pebble框架 独立使用各pebble子模块 在其他框架中嵌入pebble框架. Pebble具 ...

  8. 如何用FFmpeg API采集摄像头视频和麦克风音频,并实现录制文件的功能

    之前一直用Directshow技术采集摄像头数据,但是觉得涉及的细节比较多,要开发者比较了解Directshow的框架知识,学习起来有一点点难度.最近发现很多人问怎么用FFmpeg采集摄像头图像,事实 ...

  9. I/O通信模型(BIO,NIO,AIO)

    一.传统的BIO 网络编程的基本模型是Client/Server模型,也就是两个进程之间进行相互通信,其中服务端提供位置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的地址发起连接请 ...

  10. 普及组2008NOIP 排座椅(贪心+排序)

    排座椅 时间限制: 1 Sec  内存限制: 50 MB提交: 4  解决: 3[提交][状态][讨论版][命题人:外部导入] 题目描述 上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任 ...