在OpenCV中有一种数据类型CvMat,也就是OpenCV的矩阵结构。虽然OpenCV完全由C语言实现,但是CvMat和IplImage之间的关系就像C++中的继承关系。实质上,IplImage可以被视为从CvMat中派生的,我想下图应该是很多要知道的:
CvMat矩阵结构
在介绍CvMat矩阵结构时,我们先来说两个两个问题:1、在OpenCV中没有向量结构。任何时候需要向量,都只需要一个列矩阵(如果需要一个转置,则需要一个行矩阵);2、OpenCV矩阵的概念与我们学的线性代数略微有点不一样,这里矩阵的元素不仅仅是简单的数值类型。
矩阵的结构其实很简单,主要由宽度(width)和高度(height)、类型(type)、行数据长度(step,行的长度用字节表示,而不是整型或者是浮点型长度)和一个指向数据的指针构成。
(1)矩阵的结构:
typedef struct CvMat{
int type;
int step;