OpenCV中矩陣合并,可以采用如下兩個函數:
hconcat
-----//左右拼接,水平拼接
vconcat
----//上下拼接,豎直拼接。
目的: 可以利用這2個函數擴充矩陣。
Note: 也可以將一個非零矩陣合并與一個零矩陣合并,前提是需要定義零矩陣的大小為0行0列
示例代碼如下:
hconcat
cv::Mat_<float> A = (cv::Mat_<float>(3, 2) << 1, 4,
2, 5,
3, 6);
cv::Mat_<float> B = (cv::Mat_<float>(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_<float> A = (cv::Mat_<float>(3, 2) << 1, 7,
2, 8,
3, 9);
cv::Mat_<float> B = (cv::Mat_<float>(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。。。