如何在opencv中将3个矩阵合并为1?

use*_*954 3 opencv concatenation matrix

我有三个矩阵,每个都有大小4x1.我想将所有这些矩阵复制到另一个大小的矩阵4x3并调用它R.有一种聪明的方法吗?

sub*_*b_o 11

您可以使用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;
Run Code Online (Sandbox Code Playgroud)

这是结果:

[1, 2, 3;
  1, 2, 3;
  1, 2, 3;
  1, 2, 3]
Program ended with exit code: 1
Run Code Online (Sandbox Code Playgroud)

同样,如果要垂直(按行堆叠),请使用vconcat.