Mat
Mat数据
构造函数
1 |
|
CMakeLists.txt
1 |
|
输出:
1 |
|
默认构造函数
1
cv::Mat()
创建的是一个空的cv::Mat对象,需要在后续使用中为其分配数据;
指定类型的二维数组
1
cv::Mat(int rows, int cols, int type);
rows和cols分别是矩阵的行数和列数,type是矩阵的数据类型和通道数,例如
CV_8UC3
;指定类型的二维数组,大小由size指定
1
cv::Mat(cv::Size size, int type);
指定类型的二维数组,并指定初始化值
1
cv::Mat(int rows, int cols, int type, const Scalar& s);
创建一个指定大小和类型的矩阵,并用Scalar类型的值s初始化矩阵的所有元素,Scalar可以是一个标量值或一个包含多个值的数据,用于初始化多通道矩阵;
指定类型的二维数组,并指定初始化值,大小由size指定
1
cv::Mat(cv::Size size, int type, const Scalar& s);
指定类型的多维数组
1
cv::Mat(int ndims, const int* sizes, int type);
从其他矩阵创建子矩阵
1
cv::Mat(const Mat& m, const Range& rowRange, const Range& colRange);
创建一个矩阵的子矩阵,m是原始矩阵,rowRange和colRange分别是子矩阵的行范围和列范围;
指定类型的多维数组,并指定预先存储的数据
1
cv::Mat(int rows, int cols, int type, void* data, size_t step=AUTO_STEP)
使用现有的内存数据创建一个矩阵,data是指向数据的指针,step是每行数据的字节大小,如果step为AUTO_STEP则自动计算步长;
类matlab函数
1 |
|
自定义数据
1 |
|
.clone()方法
.clone()方法用于创建一个cv::Mat对象的完整副本,它会复制矩阵的所有数据,包括大小,类型和内容。使用.clone()可以确保新矩阵与原始矩阵完全独立,对新矩阵的修改,不会影响原始矩阵。
1 |
|
Mat
http://example.com/2025/02/22/OpenCV/Mat/