OpenCV:矩陣合并/拼接

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。。。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容