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)
还没有任何评论哟~
