转自 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. BZOJ - 5427:最长上升子序列 (二分&思维)

    现在给你一个长度为n的整数序列,其中有一些数已经模糊不清了,现在请你任意确定这些整数的值, 使得最长上升子序列最长.(为何最长呢?因为hxy向来对自己的rp很有信心)   Input 第一行一个正整数 ...

  2. Centos7下命令笔记-ls

    ls命令大概是linux下最常用的命令之一,ls是list的缩写.因为linux目录或者文件记录的信息实在太多,所以默认ls只显示非隐藏的目录以及文件名.ls直接执行不加参数时显示本目录下的档案名. ...

  3. 洛谷 P2920 [USACO08NOV]时间管理Time Management

    传送门 题目大意: 每个工作有截至时间和耗费时间,n个工作求最小开始时间. 题解: 贪心 从n-1安排,让结束时间尽量的晚. 注意:优先级 cout<<st<0?-1:st;  (X ...

  4. Jam的计数法

    Jam的计数法 题目描述 Description Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数 ...

  5. nginx time_wait 较多优化

    1. 查看命令   netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'   结果 ESTABLISHED 22 F ...

  6. maven依赖顺序原则

    使用maven的程序员都会遇到一个问题,那就是maven依赖冲突的问题,这会导致ClassNotFound或者MethodNotFound这样的异常.其实只要明白maven依赖的根本性的原则就不怕这样 ...

  7. (转)Android 中LocalBroadcastManager的使用方式

    发表于2个月前(2014-11-03 22:05)   阅读(37) | 评论(0) 0人收藏此文章, 我要收藏 赞0 1月10日 #长沙# OSC 源创会第32期开始报名 摘要 android中广播 ...

  8. SERDES高速系统(二)

    抖动.容忍度与功耗 前面我提到SERDES的最终性能要用传输速率和传输距离考核.使用眼图可以形象化地衡量SERDES的收发性能,但是更为精确的参数化衡量手段是抖动(Jitter).容忍度(Tolera ...

  9. EMI (电磁干扰)

    EMI是指电子产品工作会对周边的其他电子产品造成干扰,与此关联的还有EMC规范.是电子电器产品经常遇上的问题.干扰种类有传导干扰和辐射干扰. 电磁干扰(Electromagnetic Interfer ...

  10. mysql复制原理与机制一

    复制原理:复制需要二进制日志记录数据库上的改变 slave的IO线程复制把master上的Binary log读取到本地的relay log里SQL线程负责把relay log恢复到数据库数据里 sh ...