MAT类在Emgucv中很重要,会自动化清理
构造函数:(从构造函数可以看出MAT类对象,其实大部分都是指向存在的数据生成对象。)
public Mat();//建一个空对象。
public Mat(string fileName, ImreadModes loadType = ImreadModes.Color); //从文件图片中建立对象,注意导进的类型
public Mat(Mat mat, Rectangle roi);//从大图中得到一部分数据,只是指向,修改会影响大图。
public Mat(Size size, DepthType type, int channels);//构造尺寸大小,数据类型,通道个数的MAT对象。
public Mat(Mat mat, Range rowRange, Range colRange);//类似从大图中得到一部分数据,只是指向,修改会影响大图。
public Mat(int rows, int cols, DepthType type, int channels);//类似构造尺寸大小,数据类型,通道个数的MAT对象。
public Mat(int[] sizes, DepthType type, IntPtr data, IntPtr[] steps = null);//使用现有数据创建多维mat,从每维,数据。
public Mat(Size size, DepthType type, int channels, IntPtr data, int step);//从现有的数据中。
public Mat(int rows, int cols, DepthType type, int channels, IntPtr data, int step);//同上
基本属性(都是只读)
public Bitmap Bitmap { get; }
提供了一种更有效的方式来转换图像<灰度,字节,图像<Bgr,字节和图像<Bgra,字节到位图,这样就可以与图像数据共享,注意修改后会对MAT对象影响改变。
public int Cols { get; } //列数
public int Rows { get; }//行数。
public Size Size { get; }矩阵大小
public IntPtr DataPointer { get; }//指向原始数据开始的指针
public int Dims { get; }//矩阵的维数。
public int ElementSize { get; }这个矩阵中的元素的大小
public bool IsEmpty { get; }
public bool IsSubmatrix { get; }矩阵是否为另一个矩阵的子矩阵