码迷,mamicode.com
首页 > 其他好文 > 详细

Mat

时间:2016-07-09 17:47:36      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:

opencv中常见的与图像操作有关的数据容器3个,这三种类型都可以代表和显示图像。

  1. IplImage

  2. cvMat

  3. Mat

 

IplImage 和 CvMat 类型更侧重于“图像”,opencv 对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。

Mat 类型侧重于计算,数学性较高,opencv 对 Mat 类型的计算也进行了优化。

 

在opencv2.0之前,opencv是完全用C实现的,但是,IplImage类型与CvMat类型的关系类似于面向对象中的继承关系。

实际上,CvMat之上还有一个更抽象的基类----CvArr,这在源代码中会常见。

 

Mat 是 opencv2.0 推出的处理图像的新的数据结构,现在越来越有趋势取代之前的 cvMat 和 lplImage。

相比之下 Mat 最大的好处就是能够更加方便的进行内存管理,不再需要程序员手动管理内存的释放。

opencv2.3 中提到 Mat 是一个多维的密集数据数组,可以用来处理向量和矩阵、图像、直方图等等常见的多维数据。

 

Mat有3个重要的方法:

Mat mat = imread(const String* filename); // 读取图像
imshow(const string frameName, InputArray mat); // 显示图像
imwrite (const string& filename, InputArray img); //储存图像

 

Mat

标签:

原文地址:http://www.cnblogs.com/theBoyisNone/p/5656121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!