opencv-merge通道合併
阿新 • • 發佈:2021-11-13
方式一
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;