Advertisement

OpenCV13中的Matx固定矩阵类和Vec固定向量类

阅读量:

1.固定矩阵类定义与特性

固定矩阵类在编译阶段就需要明确其维度信息,因此得名“固定”。由于这一特性,相关数据通常存储于栈内存中,释放过程也较为迅速。此类结构特别适用于实现小型优化的矩阵(如2×2、3×3等)。在OpenCV的C++接口中,固定矩阵类构成了诸多基础类型的基石。固定向量类则继承自固定矩阵类,而其他类型要么直接继承自固定向量类(例如cv::Scalar),要么在大量关键运算中依赖于向固定向量类的转换。如同其他模板类一样,固定矩阵类本质上是一个模板,其名称为cv::Matx<>。然而,在实际使用中,单个矩阵往往通过特定别名进行定义,这些别名的组合形式可表示为cv::{Matx}{\{1,2,3,4,6\}\{1,2,3,4,6\}\{f,d\}}

通常情况下,在使用固定矩阵类表示矩阵时,主要目的是进行矩阵代数运算。然而,若所处理的对象是大规模数据集合(如图像或庞大的点集列表),则不建议采用固定的矩阵类作为解决方案;在这种情形下应优先考虑使用cv::Mat结构(相关内容将在后续部分展开讨论)。

操作 例子
默认构造函数 cv::Matx33f m33f; cv::Matx43d m43d;
拷贝构造函数 cv::Matx22d m22d( n22d );
带值的构造函数 cv::Matx21f m(x0,x1);

全部评论 (0)

还没有任何评论哟~