天天看点

学习图像处理知识---EmguCV3.4 mat类学习(一)

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; }矩阵是否为另一个矩阵的子矩阵

继续阅读