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 ...
随机推荐
- 在Git远程管理项目
新建repository 本地目录下,在命令行里新建一个代码仓库(repository) 里面只有一个README.md 命令如下: touch README.md git init 初 ...
- mysql安装问题汇总
操作系统:win7 mysql版本号:mysql 5.5(64位) 1.又一次安装mysql卡在最后一步过不去 问题描写叙述:第一次安装完mysql.使用jdbc写入的中文都是乱码.但已存在于数据库中 ...
- mysql 创建用户自定义函数(转可运行)
set global log_bin_trust_function_creators = 1; -- 开启bin_log 复制 函数创建DROP FUNCTION IF EXISTS hello; - ...
- bzoj 1085 [SCOI2005]骑士精神——IDA*
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1085 迭代加深搜索. 估价函数是为了预计步数来剪枝,所以要优于实际步数. 没错,不是为了确定 ...
- Oracle配置文件tnsnames.ora新增链接后连接报错:ORA-12154: TNS:无法解析指定的标识符
一个空格引发的血案:在tnsnames. ora文件中新加了一个配置,该配置估计当时是拷的别人的直接粘贴上去的,然后发现用pl/sql连接就一直报错了,后面排除了用户名和密码问题和后,仔细看了该文件才 ...
- 开学初的c
cout<<a[i]<<" " 这个是先输出a[i]再输出空格 cout<<endl 这个是直接换行cout<<a[i]& ...
- DM8127 更改调试串口为UART2
1.uboot修改 1)修改宏定义 /*include/config/ti8148_evm.h*/ #define CONFIG_SYS_NS16550_COM2 0x48024000 #define ...
- mysql函数之一:INSTR、LOCATE、POSITION VS LIKE
LOCATE.POSITION和INSTR函数相似功能实例 使用LOCATE.POSITION和INSTR函数查找字符串中指定子字符串的开始位置.SQL语句如下: mysql>SELECT LO ...
- 转:oracle几组重要的常见视图-v$latch,v$latch_children,v$lock,v$locked_object
v$latch Oracle Rdbms应用了各种不同类型的锁定机制,latch即是其中的一种.Latch是用于保护SGA区中共享数据结构的一种串行化锁定机制.Latch的实现是与操作系统相关的, 尤 ...
- Python实现SSH传输文件(sftp)
Windows通过ssh给Linux发送文件 #-*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import paramiko t ...