前言
Mat(图像数据结构体)代替了CvMat和IPIImage,并将功能模块化。Mat它由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的指针。
一 Mat 初始化
1.构造函数初始化CV_[The number of bits per item][Signed or Unsigned][Type Prefix]C[The channel number]
首先要定义其尺寸,即行数和列数,然后,需要指定存储元素的数据类型以及每个矩阵点的通道数。Scalar 是个short型vector。指定这个能够使用指定的定制化值来初始化矩阵。例如以下函数:Mat (int rows, int cols, int type)
Mat (int rows, int cols, int type, const Scalar &s)
2.Create()function:函数M.create(4,4,CV_8UC(2));
3.MATLAB形式的初始化方式:zeros(), ones(), :eyes() 。
使用以下方式指定尺寸和数据类型:Mat E = Mat::eye(4, 4, CV_64F);
cout << "E = " << endl << " " << E << endl << endl;
Mat O = Mat::ones(2, 2, CV_32F);
cout << "O = " << endl << " " << O << endl &l