Mat类是一种基础的数据结构,属于OpenCV中的C++系列函数(类),摸清Mat的脉络,有助于进行后续的图像处理工作,下面就好好说说Mat类。
OpenCV中Mat类声明路径:opencv-2.4.5/modules/core/include/opencv2/core/core.hpp
OpenCV中Mat类实现路径:opencv-2.4.5/modules/core/include/opencv2/core/mat.hpp
opencv-2.4.5/modules/core/src/matrix.cpp
Mat类声明如下:
class CV_EXPORTS Mat
{
//Mat类有许多成员函数,为了理清Mat的结构,这里只列出Mat类的重要的数据成员,其他数据成员以及函数成员以后慢慢解析
......
public:
int flags;//标志位,比如图像有几个波段等
int dims;//矩阵的维数
int rows, cols;//矩阵的行数和列数
uchar* data;//指向数据的指针,Key Point!注意,指向数据的指针这里是unsigned char类型的。
int* refcount;//指向引用计数器(C++中著名的引用计数器)
......
};
好了,Mat的基础数据结构就如上所示了,下面就从Mat的成员函数入手,揭开Mat这个OpenCV基本数据结构的神秘面纱。
这些函数,我们不能一股