我是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中执行此操作?
答案 0 :(得分:1)
你可能不想要一个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;
}