opencvsplit分离通道

 方式一

    cv::Mat src(4, 3, CV_8UC3,cv::Scalar(10,20,30));
    std::vector<cv::Mat> channels;
    cv::split(src, channels);//将一幅多通道的图像的各个通道分离

    std::cerr<<src<<std::endl;
    std::cerr<<channels.at(0)<<std::endl; //输出B通道
    std::cerr<<channels.at(1)<<std::endl; //输出G通道
    std::cerr<<channels.at(2)<<std::endl; //输出R通道

方式二 

    cv::Mat src(4, 3, CV_8UC3,cv::Scalar(10,20,30));
    cv::Mat aChannel[3];
    cv::split(src, aChannel);//将一幅多通道的图像的各个通道分离

    std::cerr<<src<<std::endl;
    std::cerr<<aChannel[0]<<std::endl; //输出B通道
    std::cerr<<aChannel[1]<<std::endl; //输出G通道
    std::cerr<<aChannel[2]<<std::endl; //输出R通道

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