opencvmerge通道合并

 方式一

    cv::Mat src(4, 3, CV_8UC1,cv::Scalar(10));
    cv::Mat src1(4, 3, CV_8UC1,cv::Scalar(20));
    cv::Mat src2(4, 3, CV_8UC1,cv::Scalar(30));

    cv::Mat dst;
    cv::Mat newChannels[3]={src,src1,src2};

    cv::merge(newChannels, 3, dst);//通道合并
    //参数1:单通道数组
    //参数2:需要合并矩阵的个数
    //参数3:目标矩阵

    std::cerr<<src<<std::endl;
    std::cerr<<src1<<std::endl;
    std::cerr<<src2<<std::endl;
    std::cerr<<dst<<std::endl;

方式二

    std::vector<cv::Mat> channels;
    cv::Mat src(4, 3, CV_8UC1,cv::Scalar(10));
    cv::Mat src1(4, 3, CV_8UC1,cv::Scalar(20));
    cv::Mat src2(4, 3, CV_8UC1,cv::Scalar(30));

    channels.push_back(src);
    channels.push_back(src1);
    channels.push_back(src2);

    cv::Mat dst;

    cv::merge(channels, dst);//通道合并
    //参数1:单通道数组
    //参数2:目标矩阵

    std::cerr<<src<<std::endl;
    std::cerr<<src1<<std::endl;
    std::cerr<<src2<<std::endl;
    std::cerr<<dst<<std::endl;

  

原文地址:https://www.cnblogs.com/liming19680104/p/15544232.html