在双通道矩阵中插入数据



我是OpenCV及其开发的新手。我有两个信道矩阵

Mat alleigen( Size(3,3) , CV_32FC2) 

我有数据:

A=[1,2,3]
B=[4,5,6]
c=[7,8,9]

我想插入像M矩阵

M= [1 4 7
    2 5 8
    3 6 9]

如何在OpenCV中做到这一点?

您可能不想要2通道矩阵,而是想要一个简单的二维矩阵:

以下代码将产生所需的输出:

A:
[1, 2, 3]
B:
[4, 5, 6]
C:
[7, 8, 9]
M:
[1, 2, 3;
 4, 5, 6;
 7, 8, 9]

代码:

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
    Mat1f A = (Mat1f(1, 3) << 1, 2, 3);
    Mat1f B = (Mat1f(1, 3) << 4, 5, 6);
    Mat1f C = (Mat1f(1, 3) << 7, 8, 9);
    Mat1f M(3,3);
    A.copyTo(M.rowRange(0, 1));
    B.copyTo(M.rowRange(1, 2));
    C.copyTo(M.rowRange(2, 3));
    cout << "A: " << endl << A << endl << endl;
    cout << "B: " << endl << B << endl << endl;
    cout << "C: " << endl << C << endl << endl;
    cout << "M: " << endl << M << endl << endl;
    return 0;
}