转自 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. 在Git远程管理项目

    新建repository 本地目录下,在命令行里新建一个代码仓库(repository) 里面只有一个README.md 命令如下: touch README.md        git init 初 ...

  2. mysql安装问题汇总

    操作系统:win7 mysql版本号:mysql 5.5(64位) 1.又一次安装mysql卡在最后一步过不去 问题描写叙述:第一次安装完mysql.使用jdbc写入的中文都是乱码.但已存在于数据库中 ...

  3. mysql 创建用户自定义函数(转可运行)

    set global log_bin_trust_function_creators = 1; -- 开启bin_log 复制 函数创建DROP FUNCTION IF EXISTS hello; - ...

  4. bzoj 1085 [SCOI2005]骑士精神——IDA*

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1085 迭代加深搜索. 估价函数是为了预计步数来剪枝,所以要优于实际步数. 没错,不是为了确定 ...

  5. Oracle配置文件tnsnames.ora新增链接后连接报错:ORA-12154: TNS:无法解析指定的标识符

    一个空格引发的血案:在tnsnames. ora文件中新加了一个配置,该配置估计当时是拷的别人的直接粘贴上去的,然后发现用pl/sql连接就一直报错了,后面排除了用户名和密码问题和后,仔细看了该文件才 ...

  6. 开学初的c

    cout<<a[i]<<" " 这个是先输出a[i]再输出空格 cout<<endl      这个是直接换行cout<<a[i]& ...

  7. DM8127 更改调试串口为UART2

    1.uboot修改 1)修改宏定义 /*include/config/ti8148_evm.h*/ #define CONFIG_SYS_NS16550_COM2 0x48024000 #define ...

  8. mysql函数之一:INSTR、LOCATE、POSITION VS LIKE

    LOCATE.POSITION和INSTR函数相似功能实例 使用LOCATE.POSITION和INSTR函数查找字符串中指定子字符串的开始位置.SQL语句如下: mysql>SELECT LO ...

  9. 转:oracle几组重要的常见视图-v$latch,v$latch_children,v$lock,v$locked_object

    v$latch Oracle Rdbms应用了各种不同类型的锁定机制,latch即是其中的一种.Latch是用于保护SGA区中共享数据结构的一种串行化锁定机制.Latch的实现是与操作系统相关的, 尤 ...

  10. Python实现SSH传输文件(sftp)

    Windows通过ssh给Linux发送文件 #-*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import paramiko t ...