将cv :: Mat A的每个成员与cv :: Mat B合并,以便创建一个带有[a(x,y),b(x,y)]的cv :: Mat C作为结果

时间:2015-03-02 15:48:00

标签: c++ opencv image-processing matrix

我试图从另外两个矩阵生成cv :: Mat C,以获得由组合矩阵A和B的1-D点生成的2-D点产生的第三个矩阵。

我的问题是我尝试的所有东西都只连接矩阵,并没有真正将每个点与另一个点合并,这会产生一个二维点的三维矩阵。

是否有人可以帮我解决这个问题?

非常感谢你。

为了更清楚:

我所拥有的是A = [(0, 1, 2),(3, 4, 5)]B=[(5, 4, 3),(2, 1, 0)],我想创建

 C = {[(0,5), (1,4), (2,3)],
      [(3,2), (4,1), (5,0)]}.

谢谢

1 个答案:

答案 0 :(得分:1)

您可以通过创建自定义类型矩阵来完成此操作。见here

基本上,您需要创建一个处理点(数据对)的DataType类专门化。

或者您可以使用std::complex<double>的给定矩阵而不是整数作为丑陋的捷径。文档中的示例代码:

Mat B = Mat_<std::complex<double> >(3, 3);

但是,此解决方案可能不是您一般问题的真正解决方案。 Google XY问题。