OpenCv (正式篇)6----core组件--Mat(最基本的图像数据类型)

因为是新手刚刚接触opencv,所以并没有Mat之前版本的opencv的开发经验,按照资料上的情况来说,opencv最开始是基于C语言的开源视觉库。在之前的版本是用lplImage来作为图像存储,,这个就涉及内存管理
。这是前话,反正我现在也不用了~

  1. opencv函数中输出图像的内存分配是自动完成的(总之不需要手动分配内存)
  2. 使用opencv的C++的接口时不需要考虑内存分配的问题
  3. 3.

Mat数据类型

我是接触java之后来学Mat的,所以一看见这种的定义格式就知道是类(class)/* 类似于String类*/ ,
反正我就当做opencv底层的数据操作的基本数据类型。

Mat 构成:

  1. 指向图像的信息(矩阵内容)的指针 content
  2. 信息头(矩阵大小,存储地址,存储方式)feature

Mat的引用的复制问题:

A/*复制的第一种情况*/
Mat A;//
Mat B(A);//
Mat C=A;
B/*复制的第二种情况*/
Mat a;
a.copyTo(Mat b);
Mat c=a.clone();

现在来分析:
A:只复制了信息头的内容
B : 更像克隆clone。全都复制过去。

`

posted @ 2017-03-01 15:09  理工物联网  阅读(263)  评论(0编辑  收藏  举报