OpenCV中矩阵合并,可以采用如下两个函数:
hconcat
-----//左右拼接,水平拼接
vconcat
----//上下拼接,竖直拼接。
目的: 可以利用这2个函数扩充矩阵。
Note: 也可以将一个非零矩阵合并与一个零矩阵合并,前提是需要定义零矩阵的大小为0行0列
示例代码如下:
hconcat
cv::Mat_ A = (cv::Mat_(3, 2) << 1, 4,
2, 5,
3, 6);
cv::Mat_ B = (cv::Mat_(3, 2) << 7, 10,
8, 11,
9, 12);
cv::Mat C;
cv::hconcat(A, B, C);//即:将A加在B的左边。类似cv::hconcat(B, A, C)表示将A加在B的右边
//C:
//[1, 4, 7, 10;
// 2, 5, 8, 11;
// 3, 6, 9, 12]
vconcat
cv::Mat_ A = (cv::Mat_(3, 2) << 1, 7,
2, 8,
3, 9);
cv::Mat_ B = (cv::Mat_(3, 2) << 4, 10,
5, 11,
6, 12);
cv::Mat C;
cv::vconcat(A, B, C);
//C:
//[1, 7;
// 2, 8;
// 3, 9;
// 4, 10;
// 5, 11;
// 6, 12]
备注:该函数的具体实现待查,因为笔者又试出了他的bug。。。