您的位置:首页 > 运维架构

OpenCV中文文档——class Mat

2016-03-09 00:02 351 查看
Mat::Mat(int rows, int cols, int type)

// 创建一个二维矩阵,行数为rows,列数为cols,矩阵的每个元素类型为type。

// type可选的参数值有 CV_8UC1,CV_64FC4等,分别表示8 bits unsigned char 的单通道类型,64 bits float 的4通道类型,还可以是CV_8UC(n),此类型表示元素为n通道类型,n的最大值为CV_MAX_CN。

Mat::Mat(int ndims, const int* sizes, int type)

// 创建一个ndims维矩阵,每一维的元素数目由整型数组sizes决定,矩阵的每个元素类型为type。

Mat::operator MatExpr_<Mat, Mat>() const

// 矩阵表达式的计算算子,算子MatExpr_不在此指定,可以为下列算子中的任意一个:

// 矩阵乘法:A*B

// ...

Mat Mat::row(int i) const

// 返回矩阵的第i行,行数从0开始。

Mat Mat::col(int i) const

// 返回矩阵的第i列,列数从0开始。

Mat Mat::rowRange(int startrow, int endrow) const

// 返回矩阵从第startrow行开始,第endrow行前一行为止的子矩阵

Mat Mat::colRange(int startcol, int endcol) const

// 返回矩阵从第startcol行开始,第endcol行前一行为止的子矩阵

void Mat::copyTo(OutputArray m) const

// 将矩阵数据复制到矩阵m中,若m的维数或行列数跟调用函数的矩阵不一致,矩阵m将重新分配空间。

Mat Mat::reshape(int cn, int rows = 0) const

// 返回一个将原矩阵元素通道数变为cn,矩阵行数变为rows的矩阵。如果cn等于0,通道数不变;如果rows等于0,矩阵行数不变。

// 此函数不会增加额外的元素,所以返回矩阵的rows*cols*channels()的乘积必须跟原矩阵一致。

MatExpr Mat::t() const

// 返回一个原矩阵的暂时的转置矩阵对象,用于矩阵表达式。

static MatExpr Mat::zeros(int rows, int cols, int type)

// 创建一个二维的零矩阵。

Mat Mat::operator()(Range rowRange, Range colRange) const

// 返回从原矩阵中提取的一个子矩阵,子矩阵的行为原矩阵中范围为rowRange的行,列为原矩阵中范围为colRange的列,要提取原矩阵所有的行或列可将对应参数值设置为Range::all()。

int Mat::channels() const

// 返回矩阵的元素通道数。

template<typename T> T& Mat::at(int i, int j)

template<typename T> const T& Mat::at(int i, int j) const

// 返回二维矩阵下标为(i, j)的元素,i,j从0开始。

// T为元素类型,如单通道浮点类型为float,3通道浮点类型为Vec3f,跟矩阵的元素类型type相关。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: