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;