首页 > 代码库 > OpenCV的矩阵合并方法

OpenCV的矩阵合并方法

有的时候我们需要将几个矩阵按行或者按列进行合并成一个大矩阵,这在Matlab里面非常的简单,但在OpenCV里面并没有这样的方法,现在我在OpenCV的源码里面发现合并矩阵的方法,分享给大家。

    A = [1 2 3 4];    B = [2 3 4 5];    C = [A;B];

上面的是Matlab语言的矩阵合并,非常的简洁简单。接下来我给出OpenCV的两个矩阵的合并代码.

 1 Mat mergeRows(Mat A, Mat B) 2 { 3     CV_ASSERT(A.cols == B.cols&&A.type() == B.type()); 4     int totalRows = A.rows + B.rows; 5  6     Mat mergedDescriptors(totalRows, A.cols, A.type()); 7     Mat submat = mergedDescriptors.rowRange(0, A.rows); 8     A.copyTo(submat); 9     submat = mergedDescriptors.rowRange(A.rows, totalRows);10     B.copyTo(submat);11     return mergedDescriptors;12 }

 

上面的代码是两个矩阵的按行合并,按列合并原理相同,就不再写出来了。

OpenCV的矩阵合并方法