我有三个矩阵,每个矩阵的大小都是 4x1
。我想将所有这些矩阵复制到另一个大小为 4x3
的矩阵,并将其命名为 R
。有聪明的方法吗?
最佳答案
您可以只使用 hconcat 进行水平串联。您可以按矩阵使用它,例如hconcat( mat1, mat2, R ),或直接将其应用于向量或矩阵数组。
这是一个示例代码:
vector<Mat> matrices = {
Mat(4, 1, CV_8UC1, Scalar(1)),
Mat(4, 1, CV_8UC1, Scalar(2)),
Mat(4, 1, CV_8UC1, Scalar(3)),
};
Mat R;
hconcat( matrices, R );
cout << R << endl;
结果如下:
[1, 2, 3;
1, 2, 3;
1, 2, 3;
1, 2, 3]
Program ended with exit code: 1
类似地,如果您想垂直进行(按行堆叠),请使用 vconcat。
关于opencv - 如何在opencv中将3个矩阵合并为1个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23042798/