OpenCV:矩阵合并/拼接

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

你可能感兴趣的:(OpenCV:矩阵合并/拼接)