转至 https://blog.csdn.net/keith_bb/article/details/53400661
1)void split(const Mat& src, Mat* mvbegin); //src多通道数组,mv分离之后输出的单通道数据
vector<Mat>channels;
split(srcImage, channels);
Mat imageBlueChannel;
imageBlueChannel = channels.at(0); //提取蓝色通道
2)void merge(const vector<Mat>& mv, OutputArray dst );//mv待融合单通道的多维数组,dst也可以是Mat矩阵为融合后的输出
需要特别注意的是,opencv中三通道的排列方式是BGR!!!!
vector<Mat> mbgr(3);
Mat image;
mbgr[0] = imageBlueChannel;//imageBlueChannel Mat格式矩阵
mbgr[1] = imageGreenChannel;//。。。
mbgr[2] = imageRedChannel;//。。。
merge(mbgr, image);