天天看点

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

matrix类是OpenCV的cvMat的封装(矩阵类)

Namespace:  Emgu.CV,Assembly:  Emgu.CV.World (in Emgu.CV.World.dll) 

构造函数:

public Matrix(Size size)//创建一个指定大小的矩阵      
public Matrix(TDepth[,] data)//使用指定的数据创建一个矩阵(3个通道)。      
public Matrix(TDepth[] data)//使用指定的数据创建一个矩阵(单通道)。      
public Matrix(int rows,int cols)//同创建一个指定大小的矩阵      
public Matrix(int rows,int cols,int channels)//同创建一个指定大小,指定通道数的矩阵      
public Matrix(SerializationInfo info,StreamingContext context)//反序列化成对象      
public Matrix(int rows,int cols,IntPtr data)////同创建一个指定大小,指定矩阵数据指定指针,创建对象指向的数据      

其他在C#基本不用,对指向指针的。

基本属性

public byte[] Bytes { get; set; } 获取或设置一个字节数组,这些字节代表这个数组中的数据      
public int Cols { get; }这个数组的列的数量      
public int Rows { get; }这个数组的行的数量      
public TDepth this[int row,int col] { get; set; }//矩阵点位值得设定和读取      
public Mat Mat { get; }//得到MAT类,这点很重要,需转换的重要。      
public TDepth[,] Data { get; set; }//数据      
public int Height { get; }//同public int Rows { get; }这个数组的行的数量      
public int Width { get; }这个数组的列的数量      
public override Size Size { get; }矩阵大小      
public MCvMat MCvMat { get; }//MCvMat结构格式      
public double Norm { get; }//数组的规范      
public double Sum { get; }返回这个矩阵中元素的和      
public MCvScalar Trace { get; }矩阵的对角元素之和      
public double Det { get; }平方矩阵的返回行列式      
public override Array ManagedArray { get; set; }获取下面的托管数组      
public IntPtr Ptr { get; set; }指向内部结构的指针      
public override int NumberOfChannels { get; }//得到通道      
public int SerializationCompressionRatio { get; set; }获取或设置序列化的压缩比。在0-9之间的数字。0表示没有压缩,      
而9表示最佳压缩