opencv-merge通道合并

 方式一

    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;

  

 

 

posted @ 2021-11-12 13:45  天子骄龙  阅读(183)  评论(0编辑  收藏  举报