转自 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. phpcms v9 tags调用方法

    {loop $keywords $keyword} <a href="{APP_PATH}index.php?m=content&c=tag&catid={$catid ...

  2. Sublime Text 3下Emmet使用技巧

    链接:http://jingyan.baidu.com/article/92255446a87900851648f4d6.html

  3. Java集合总结之Collection整体框架

    前段时间一直在忙一个物联网的项目,所以Java的学习一直搁置,从今天开始继续学习!望大家多提宝贵意见! java.util包中包含了一些在Java 2中新增加的最令人兴奋的增强功能:类集.一个类集(c ...

  4. 二分答案(Widespread )

    二分答案其实是变相贪心,这周算是被这个虐了,怎么都想不到,比如这题,一直纠结在最大值的贪心上后面队友一指点,原来可以先减去x*b,然后a-b随机分配就好了, 仔细一想没错呀,每次攻击必然受到x*b次伤 ...

  5. 剑指offer-第六章面试中的各项能力(翻转单词的顺序VS左旋转字符串)

    //题目1:翻转单词顺序例如“Hello world!”翻转后为world! Hello. //思路:首先翻转整个字符串,然后再分别翻转每个单词. //题目2:左旋转字符串,是将字符串的前面几个(n) ...

  6. oracle fn project 开源faas 框架

    1. 介绍 Fn is an event-driven, open source, functions-as-a-service compute platform that you can run a ...

  7. ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 复制代码 代码如下: $.ajax({ dataType : ‘json',type : ‘POST',url : ‘ht ...

  8. ansible命令应用示例

                                  ansible命令应用示例                             ping slave组 ansible slave -m ...

  9. (转)Makefile经典教程(掌握这些足够)

    该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 makefile很重 ...

  10. log4net内部调试开启

    最近用log4net写入日志到mysql数据库,死活写不进去,就想能不能看log4net的错误记录,在网上一找,还真有:开启log4net的内部调试,作个记录: <appSettings> ...