OpenCV的Rect矩形类用法
转自 http://blog.csdn.net/kh1445291129/article/details/51149849
- //如果创建一个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矩形类用法的更多相关文章
- Opencv 使用Rect选取与设置窗口ROI
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50593825 首先看一下Rect对象的 ...
- CSS clip:rect矩形剪裁功能及一些应用介绍
CSS clip:rect矩形剪裁功能及一些应用介绍 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.co ...
- OpenCV中Mat的基本用法:创建、复制
OpenCV中Mat的基本用法:创建.复制 一.Mat类的创建: 1.方法一: 通过读入一张图像,直接将其转换成Mat对象. Mat image = imread("test.jpg&quo ...
- YTU 2602: 熟悉题型——类设计( 矩形类定义【C++】)
2602: 熟悉题型--类设计( 矩形类定义[C++]) 时间限制: 1 Sec 内存限制: 128 MB 提交: 183 解决: 119 题目描述 定义一个矩形类,数据成员包括左下角和右上角坐标 ...
- 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 用法
装饰者模式(Decorator Pattern) Java的IO类 用法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26716 ...
- 矩形类定义【C++】
Description 定义一个矩形类,数据成员包括左下角和右上角坐标,定义的成员函数包括必要的构造函数.输入坐标的函数,以及计算并输出矩形面积的函数.要求使用提示中给出的测试函数并不得改动. Inp ...
- C# 中Datatime类用法总结
C# 中Datatime类用法总结 收集了一些记录下来,这些有的是从网上找的,有些是自己使用到的: DateTime dt = DateTime.Now; dt.ToString();//2005-1 ...
- CSS clip:rect矩形剪裁功能及应用
.clip{ position:absolute; clip: rect(10px 30px 20px 10px); } 最后有必要说明下:clip:rect矩形剪裁只能作用于position:abs ...
- php常用表单验证类用法实例
<?php /** * 页面作用:常用表单验证类 * 作 者:欣然随风 * QQ:276624915 */ class class_post { //验证是否为指定长度的字母/数字组合 func ...
随机推荐
- SQLServer流水号自动生成
最近给客户做生成条码的功能时,碰到个问题,需要根据数量自动生成流水号,然后加上客户指定的前缀,组合成条码. 折腾了一会,最后通过个存储过程实现. --@Prefix 指定前缀,@InitialVal ...
- NOIP2011 观光公交 加强版
传送门 题目大意 给定从左到右的$n$个车站以及两两之间通行的需要的时间. 有$m$个人,第$i$个人会在$T_i$时刻出现在$a_i$车站,目的地是$b_i$. 一辆车第$0$时刻出现在一号站台,从 ...
- MYSQL 级联 添加外键
MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定在删除.更新父表时,对子表进行的相应操作 ...
- ArcGIS Runtime SDK for WPF之测量距离和面积
bu不多说,上代码 using System.Windows; using ESRI.ArcGIS.Client; using ESRI.ArcGIS.Client.Tasks; using ESRI ...
- 剑指offer-第四章解决面试题思路(二叉收索树和双向链表)
题目:输入一个二叉收索树,将二叉搜索树转换成排序的双向链表.要求不能创建节点,只能将链表中的指针进行改变. 将复杂的问题简单化:思路:二叉收索树,本身是一个排序结构,中序遍历二叉收索树就可以得到一组排 ...
- LeetCode Valid Parenthesis String
原题链接在这里:https://leetcode.com/problems/valid-parenthesis-string/description/ 题目: Given a string conta ...
- 转载.Avalon-MM 阿窝龙妹妹应用笔记
Avalon Interface Special http://www.altera.com.cn/literature/manual/mnl_avalon_spec.pdf Avalon总线是SOP ...
- 【4】JDK和CGLIB生成动态代理类的区别
当一个对象(客户端)不能或者不想直接引用另一个对象(目标对象),这时可以应用代理模式在这两者之间构建一个桥梁--代理对象. 按照代理对象的创建时期不同,可以分为两种: 静态代理:事先写好代理对象类,在 ...
- ⑤SpringBoot之定时任务
本文介绍SpringBoot定时任务的使用,springboot默认已经帮我们实行了,只需要添加相应的注解就可以实现. 1.pom配置文件 pom包里面只需要引入springboot starter包 ...
- vs2003属性窗口空白的问题
一个困扰很久的问题一直没有解决,因为vs的属性窗口没显示不方便修改mfc程序的id和属性等等,但是可以直接在代码里修改.问题始终是问题,最近准备画时间解决之,上网差资料搜索办法,一帖说是win7的问题 ...