【拜小白opencv】5-Rect类的相关操作简介
来源:互联网 发布:java福利院管理系统 编辑:程序博客网 时间:2024/06/05 17:01
博主力求用最简单的语言将此部分内容讲解清楚,但由于博主同样是刚刚接触OpenCV,或许表达上有些错误,还望读者能够指教探讨,大家共同进步。
博主机器配置为:VS2013+opencv2.4.13+Win-64bit。
如果本人写的能给读者带来一点点的帮助,我就很开心了。
======================分割线===============
opencv里有个Rect类,可以在图像处理过程中经常使用,这里简单介绍它的几种使用方法。
以下列出Rect类中几个常用函数:
- size()函数返回矩形的尺寸大小。
- area()函数返回矩形的面积,也就是矩形包含的像素点个数。也就是矩形的(宽*高)的值。
- contains(Point)能检测点是否在矩形内。
- tl()返回矩形左上角的点坐标。即top-left。
- br()返回矩形右下角点坐标。即bottom-right。
======================分割线===============
Rect类对象的创建示例
Rect rect(40, 40, 60, 30);
- 参数解释:
- 参数1:创建矩形的最左角的 x-坐标 ;
- 参数2:创建矩形的最左角的 y-坐标;
- 参数3:创建矩形的宽;
- 参数4:创建矩形的高;
代码演示
#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main(){//【0】定义相关变量Rect rect(40, 40, 60, 30);Point point(10, 10);//定义坐标在(10,10)的点Point point2(70, 50);Rect rect1(20, 20, 30, 40);Rect rect2(90, 30, 20, 10);Size size(20, 20);//【1】Rect类的相关操作cout << "矩形rect左上角的横坐标:" << rect.x << endl;cout << "矩形rect左上角的纵坐标:" << rect.y << endl;cout << "矩形rect的宽度:" << rect.width << endl;cout << "矩形rect的高度:" << rect.height << endl;cout << "矩形rect的尺寸:" << rect.size() << endl;cout << "矩形rect的面积:" << rect.area() << endl;cout << "\n矩形rect左上角的点坐标:" << rect.tl() << endl;cout << "矩形rect右下角的点坐标:" << rect.br() << endl;//该点在里面则为1,否则为0cout << "\n判断(10, 10)这个点在不在矩形rect内:" << rect.contains(point) << endl;cout << "判断(70, 50)这个点在不在矩形rect内:" << rect.contains(point2) << endl;cout << "\n矩阵rect与矩阵rect1的交集:" << (rect1 & rect) << endl;cout << "矩阵rect与矩阵rect1的并集:" << (rect | rect2) << endl;cout << "\n矩阵rect2进行平移操作:" << (rect2 + point) << endl;cout << "矩阵rect2进行平移操作:" << (rect2 - point) << endl;cout << "矩阵rect2改变尺寸大小操作:" << (rect2 + size) << endl;system("pause");//作用:暂停黑窗口,否则窗口一闪而过,看不见信息return 0;}
显示结果
=====================分割线==================
程序说明
图像在电脑中是以左上角为原点;
第一张图:表示最开始各个矩形和p点的位置;
第二张图:紫色填充的矩形表示rect和rect1交集;
红色矩形框表示rect和rect2并集;
第三张图:用于解释下输出结果的意思。
P.S.画的不好,只是为了便于理解。不明白的请自己在纸上画画看看,就会明白每行代码的意思了。
=================END==============
阅读全文
0 0
- 【拜小白opencv】5-Rect类的相关操作简介
- OpenCV矩形rect的操作
- Opencv的Rect类-矩形类
- OpenCV的Rect矩形类用法
- 利用OpenCV创建自己的Rect类
- OpenCV的Rect矩形类用法
- opencv中Rect类的神奇用法
- OpenCV的Rect矩形类用法
- opencv rect类
- 【OpenCV】Rect矩形类用法
- opencv Rect
- OpenCV学习笔记(21)OpenCV的Rect矩形类用法
- OpenCV常用类之Rect矩形类
- 【OpenCV】cv::Rect矩形类用法
- opencv中Mat的各种相关操作
- Rect类的使用结果
- android Rect类的使用
- Opencv draw ROI rect
- PHP坑之:约瑟夫环
- 1001 数组中和等于K的数对
- Heavy Transportation Dijkstra
- win10+intelij 开发spark程序(一)
- hive原理组件
- 【拜小白opencv】5-Rect类的相关操作简介
- ImageLoader github地址
- 观察者模式
- 基于 Vue 全家桶制作的移动端音乐 WebApp
- 循环数组最大子段和 (dp)
- 数字签名与数字证书技术简介(二)
- SVN初学者使用说明
- 水仙花
- iOS 偏好设置NSUserDefaults