OpenCV常用数据结构和函数
点的表示:Point类
Point类数据结构表示二维坐标系下的点,即由其图像坐标x,y指定的2D点。
用法如下
Point point;
point.x = 10;
point.y = 8;
或者
Point point = Point(10, 8);
Point_、Point2i、Point互相等价。Point_、Point2f互相等价。
颜色的表示:Scalar类
注意OpenCV默认的图片通道存储顺序是BGR,即蓝绿红,而不是RGB。
Scalar()表示具有4个元素的数组,在OpenCV中被大量用于传递像素值,如RGB。如果用不到四个参数,则多余的参数不用写出。
用法如下
Scalar( a, b, c);
// 定义的RGB颜色值:红色分量为c,绿色分量为b,蓝色分量为a。
尺寸的表示:Size类
Size_、Size2i、Size等价
用法如下
// 可以用 xxx.width 和 xxx.height 获取 宽 和 高
Size(5 ,5); // 构造出的Size宽度和高度都为5,即xxx.width和xxx.height都为5
矩形的表示:Rect类
Rect 类的成员变量有x,y,width,height,分别表示左上角点的坐标和矩形的宽高。常用的成员函数有:
- Size()返回值为Size;
- area()返回矩形的面积;
- contains(Point)判断点是否在矩形内;
- inside(Rect)判断矩形是否在该函数内;
- tl()返回左上角点的坐标;
- br()返回右下角点的坐标;
求交集并集
Rect rect = rect1 & rect2; // 交集
Rect rect = rect1 | rect2; // 并集
平移和缩放
Rect rectShift = rect + point; // 平移
Rect rectScale = rect + size; // 缩放
颜色空间转换:cvtColor()函数
原型如下:
void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0);
- 参数一:输入图像
- 参数二:输出图像
- 参数三:颜色空间转换标识符(参表)
- 参数四:目标图像的通道数,若参数为0,表示目标图像取源图像的通道数。
用法如下
cvtColor(srcImage, dstImage, COLOR_GRAY2BGR);
OpenCV常用数据结构和函数的更多相关文章
- OpenCV——创建Mat对象、格式化输出、常用数据结构和函数(point,vector、Scalar、Size、Rect、cvtColor)
创建Mat对象:
- opencv常用数据结构之:IplImage
typedef struct_IplImage{ int nSize; //IplImage大小 int ID; //版本(=0) int nChannels; //大多 ...
- OpenCV常用基本处理函数(8)图像变换
傅里叶变换 傅里叶变换在实际中有非常明显的物理意义,设f是一个能量有限的模拟信号,则其傅里叶变换就表示f的频谱. 图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度.如:大面积的沙 ...
- OpenCV常用基本处理函数(7)图像金字塔和直方图
高斯金字塔 高斯金字塔的顶部是通过将底部图像中的连续的行和列去除得到的.顶部图像中的每个像素值等于下一层图像中 5 个像素的高斯加权平均值. 这样操作一次一个 MxN 的图像就变成了一个 M/2xN/ ...
- OpenCV常用基本处理函数(6)图像梯度
形态学转换 腐蚀 img = cv2.imread() kernel = np.ones((,),np.uint8) erosion = cv2.erode(img,kernel,iterations ...
- OpenCV常用基本处理函数(5)图像模糊
2D卷积操作 cv.filter2D() 可以让我们对一幅图像进行卷积操作, 图像模糊(图像平滑)使用低通滤波器可以达到图像模糊的目的.这对与去除噪音很有帮助.其实就是去除图像中的高频成分(比如:噪音 ...
- OpenCV常用基本处理函数(4)简单变换,阈值等
几何变换 缩放 img=cv2.imread('messi5.jpg') # 下面的 None 本应该是输出图像的尺寸,但是因为后边我们设置了缩放因子 # 因此这里为 None res=cv2.res ...
- OpenCV常用基本处理函数(3)颜色空间
颜色空间转换 对图像进行颜色空间转换,比如从 BGR 到灰度图,或者从BGR 到 HSV 等 我们要用到的函数是:cv2.cvtColor(input_image ,flag),其中 flag就是转换 ...
- OpenCV常用基本处理函数(2)图像基本操作
可以根据像素的行和列的坐标获取他的像素值.对 BGR 图像而言,返回值为 B,G,R 例如获取蓝色的像素值: img=cv2.imread('messi5.jpg')px=img[100,100]bl ...
随机推荐
- android延时处理任务范例
今天要做一个任务,要求图片做button开关,点击出发对应事件.点击打开,图片左边显示几行字体,这几行字体是延时显示的.以下将主要代码附上.以下是main.xml <?xml version=& ...
- 从零开始学习 asp.net core 2.1 web api 后端api基础框架(二)-创建项目
原文:从零开始学习 asp.net core 2.1 web api 后端api基础框架(二)-创建项目 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...
- CentOS 7.3最小系统安装KVM
一.准备工作 安装wget和vim yum install -y wget vim 修改yum源为阿里源 wget -O /etc/yum.repos.d/CentOS-Base.repo http: ...
- ios 调用系统发短信以及打电话功能
先介绍一种最简单的方法: 调用打电话功能 [[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"tel://100 ...
- socket函数集-----网络编程必备值得拥有
accept(接受socket连线) 相关函数 socket,bind,listen,connect 表头文件 #include<sys/types.h> #include<sys/ ...
- HTTP、FTP状态码 汇总
原文:HTTP.FTP状态码 汇总 HTTP1xx - 信息提示(这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应. ) • 100 - 继续.• 101 - ...
- No module named import_export.admin Django python
主要是安装xadmin后出现错误 解决方案: pip install django-import-export 重启即可
- Unpaired/Partially/Unsupervised Image Captioning
这篇涉及到以下三篇论文: Unpaired Image Captioning by Language Pivoting (ECCV 2018) Show, Tell and Discriminate: ...
- Android零基础入门第54节:视图切换组件ViewSwitcher
原文:Android零基础入门第54节:视图切换组件ViewSwitcher 前面三期学习了ProgressBar系列组件,那本期开始一起来学习ViewAnimator组件. 一.ViewAnimat ...
- GitLab一键式安装bitnami 专题
git lab developer角色不能提交到master分支的问题 错误提示: git -c diff.mnemonicprefix=false -c core.quotepath=false p ...