cv::Mat 在 OpenCV 中是一个重要的类,用于表示多维的单通道或多通道数组。它能用于存储复数或实数的向量或矩阵,灰度或彩色图像,向量场,点云,张量,直方图等等。
有许多方法创建 cv::Mat
对象:
Mat(nrows, ncols, type[, fillValue])
- Copy constructor or assignment operator
- Construct a header for a part of another array
// 创建一个 7x7 的复数矩阵,并以 1+3j 填充
Mat M(7, 7, CV_32FC2, Scalar(1, 3));
// 创建一个 100x100 的单通道8bit 矩阵,并以 255 填充
Mat M(100, 100, CV_8UC1, Scalar(255));
// 创建一个 100x100 的3通道8bit 矩阵
Mat M(100, 100, CV_8UC3);
Mat M1;
M.copyTo(M1);
Mat A = Mat::eye(10, 10, CV_32S);
Mat img(Size(320, 240), CV_8UC3);
Mat roi(img, Rect(10, 10, 100, 100));
Mat B = img(Range::all(), Range(1, 3));
Public Attributes:
- cols:列数
- rows:行数
- dims:维度
- data:指向数据的 uchar 指针
Public Member Functions:
- empty:判断数据是否为空
- at:模板函数,返回对指定矩阵元素的引用
- begin、end:用于迭代
- channels:矩阵的通道数
- clone:返回矩阵的完整的副本
- copyTo:将矩阵拷贝至另一矩阵
- convertTo:转换元素类型
- dot:矩阵乘法
- mul:元素相乘
Static Public Member Functions:
- diag:创建对角矩阵
- eye:创建单位矩阵
- ones:创建全1矩阵
- zeros:创建全0矩阵
网友评论