opencv 基本类型概述

一、点类

在大多数程序中,点类是通过类似形式的别名来实例化的cv :: Point2i或cv :: Point3f,最后一个字母表示所需的原语

从中构建点。 (这里,b是无符号字符,s是a短整数,i是32位整数,f是32位浮点数,d是64位整数,位浮点数。)opencv 基本类型概述
二、颜色类

cv :: Scalar实际上是一个四维点类。 像其他人一样,它实际上是与模板类关联,但访问它的别名返回实例其中所有成员都是双精度浮点的模板数字。 cv :: Scalar类也有一些特殊的成员函数关联在计算机视觉中使用四分量矢量。 

opencv 基本类型概述

三、大小类别

实际上,尺寸类别与相应的点类相似,并且可以是往返于他们之间。 两者之间的主要区别在于这一点类的数据成员被命名为x和y,而相应的数据成员被命名为大小类别被命名为宽度和高度。 大小类的三个别名是cv :: Size,cv :: Size2i和cv :: Size2f。 前两个是等同的意味着整数大小,而最后一个是32位浮点大小。 与重点一样类中,可以将大小类转换为相应的旧式OpenCV类(在这种情况下,CvSize和CvSize2D32f)。

opencv 基本类型概述

与点类不同,大小类不支持强制转换为固定向量类。 这意味着尺寸类别具有更多的限制效用。 在另一手,点类和固定矢量类可以转换为大小类没有任何问题。

四、Rect类

矩形类包括点类的成员x和y(表示矩形的左上角)以及大小的成员宽度和高度类(表示矩形的大小)。 但是,矩形类不会继承从点或大小类,所以一般来说,它们不会从中继承运算符他们。

opencv 基本类型概述

Rect也支持各种重载操作符可以用于计算两个矩形的各种几何特性或一个矩形和另一个对象。

opencv 基本类型概述

五、RotatedRect类

RotatedRect类是C ++ OpenCV接口中的几个类之一。 相反,它是一个容纳cv :: Point2f的容器称为中心,cv :: Size2f称为尺寸,另一个称为角度的浮点数与后者代表矩形围绕中心的旋转。 一个非常cv :: RotatedRect和cv :: Rect之间的差异是一种惯例
cv :: RotatedRect位于相对于其中心的“空间”中,而cv :: Rect是相对于其左上角定位。

opencv 基本类型概述

六、固定的矩阵类

固定矩阵类用于编译时已知尺寸的矩阵时间(因此“固定”)。结果,其数据的所有内存都分配在堆栈上,这意味着他们可以快速分配和清理。他们的操作很快,并且针对小矩阵(2×2,3×3,等等。)。固定矩阵类也是许多其他基本类型的核心C ++接口到OpenCV。固定矢量类从固定矩阵派生类和其他类派生自固定向量类(如cv :: Scalar)或者他们依赖于为许多重要操作投射到固定的矢量类。如通常,固定矩阵类实际上是一个模板。该模板被调用cv :: Matx <>,但个别矩阵通常通过别名分配。基础的这种别名的形式是cv :: Matx {1,2,...} {1,2,...} {f,d},其中的数字可以是任意的数字从一到六,后面的字母与前面的字母具有相同的含义,类型一般来说,你应该使用固定矩阵类,这是一个真正的矩阵,你将要做矩阵代数。如果你的对象实际上是一个大数据数组,像一个图像或一个巨大的点列表。

opencv 基本类型概述

opencv 基本类型概述