前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器视觉算法(第6期)----OpenCV中的基础数据类型

机器视觉算法(第6期)----OpenCV中的基础数据类型

作者头像
智能算法
发布2019-05-22 00:10:55
6250
发布2019-05-22 00:10:55
举报
文章被收录于专栏:智能算法

上期我们一起学习了常用的图像处理库相关的知识 机器视觉算法(第5期)----常用图像处理库都有哪些? 今后我们逐步深入,以开源库OpenCV图像处理库为工具,来逐步学习视觉方面的算法。工欲善其事,必先利其器,所以近几期,我们将一起系统的学习下OpenCV这个常用的开源图像处理库。首先这期我们主要介绍下OpenCV中常见的8大基础数据类型及其支持的操作。

1. Point类

作为OpenCV的基本类型,Point类可能是最简单的,虽然比较简单,但是熟悉opencv的你,并不一定对它很了解,特别是它的一些操作。 该类是基于一个基础模板结构而创建的,所以它能成为任何类型的点,比如整型,浮点型等。直接受Point类支持的操作如下:

2. Scalar类

Scalar是四维点类,与其他类型类似,它实际上与一个模板类相关,但访问它的别名返回一个该模板的实例。模板中,所有成员都是双精度浮点型数据。在计算机视觉算法中,Scalar类有一些与四元向量相关的特殊成员函数,下表列举了一些Scalar支持的操作:

3. size类

size类在实际操作中和Point类相似,而且可以与Point类互相转换,两者的主要区别是Point类的数据成员是x和y,而size类的数据成员是width和height。size类有三个别名,分别是Size,Size2i,Size2f,前面两个是等价的,表示整数大小,最后一个表示32位浮点大小。下表列出了size类支持的操作:

4. Rect类

Rect类包含Point类的成员x和y(代表矩形的左上角顶点)以及size类的成员width和heigth(代表矩形的宽和长)。下表是列出了Rect类所支持的操作:

另外Rect类还支持一系列的重载操作符,可用于计算两个矩形或者一个矩形等的各种各样的几何特性,如下:

5. RotatedRect类

RotatedRect类是一个包含一个中心点Point2f,一个大小Size2f和一个额外的float角度的容器。其中float的角度代表图形绕中心点旋转的角度。RotatedRect和Rect中有一个非常重要的不同点就是RotatedRect是以中心为原点,而Rect是以左上角为原点,下表列出了RotatedRect类所支持的操作:

6. 固定矩阵类

固定矩阵类是为编译时就已知维度的矩阵打造的,这也是称之为“固定”的原因。由于它内部的所有数据都是在堆栈上分配的,所以它们的分配和清除都很快。对固定类的操作运行很快,而且还在小矩阵上做过特殊的优化。通常,固定矩阵类实际上是一个模板,这个模板称为Matx<>,但独立的矩阵通常通过别名分配,这些别名的基础格式为Matx{1,2,...}{1,2,...}{f,d},其中数字可以是1到6之间的任何数。 其支持的操作有:

7. 固定向量类

固定向量类其实是从固定矩阵类派生而来的。固定向量类Vec其实就是一个列为1的固定矩阵类。为特定实例而准备好的别名格式如下: Vec{2,3,4,5,6}{b,s,w,I,f,d}, 最后一个字符的意义跟前面一样,其中w代表unsigned short,下表表示Vec支持的操作:

8. 复数类

OpenCV中的复数类和STL中的复数类模板complex<>不一样,但是可以互相转换。最大的区别在于成员的获取方式,STL类中的实部和虚部的获取方式通过成员函数real()和imag()获取,而在OpenCV中直接通过成员变量re和im获取。支持的操作如下:

和很多基本类型一样,复数类为重要的模板取了别名,如Complexf何Complexd分别表示单精度和双精度复数的别名。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 智能算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Point类
  • 2. Scalar类
  • 3. size类
  • 4. Rect类
  • 5. RotatedRect类
  • 6. 固定矩阵类
  • 7. 固定向量类
  • 8. 复数类
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档