Advertisement

opencv学习 Mat 类

阅读量:

简要介绍OpenCV的起源。最初,OpenCV是由Intel在俄罗斯的团队开发完成的,但随着时间推移,Intel对该项目的支持逐渐减弱。2008年,一家位于美国的机器人公司Willow Garage开始积极投入资源支持OpenCV,在获得该公司的支持后,OpenCV的发展速度显著提升,并新增了诸多功能。在OpenCV 1.x版本中,所采用的数据类型为IplImage,在使用这一数据类型时,由于需要处理内存管理问题,给众多开发者带来了诸多困扰。进入OpenCV 2.x版本后,引入了一种全新的数据类型Mat,极大地简化了开发流程。因此,在后续的教程中将主要使用Mat类,若遇到IplImage类的数据结构也无需感到陌生。

Mat类由两种基本的数据结构组成:一种是矩阵头(包含矩阵的尺寸、存储方式以及存储路径等信息),另一种是指向像素值矩阵的指针(其维度取决于具体的存储方式)。矩阵头所占用的空间是固定的常数,而矩阵本身的尺寸则会根据图像的不同而有所变化。Mat类的具体定义较为复杂,在此列出部分关键属性如下所示:

复制代码
    class CV_EXPORTS Mat
    {
    public:
    //......很多函数定义,在此省略
    ...
    /*flag参数包含许多关于矩阵的信息,如:
    Mat的标识
    数据是否连续
    深度
    通

全部评论 (0)

还没有任何评论哟~