示例代码:
void demo::channels_demo(Mat& image)
{
vector<Mat> mv;
split(image, mv);
//imshow("red", mv[2]);
//imshow("green", mv[1]);
//imshow("blue", mv[0]);Mat dsc;
//mv[0] = 0;
mv[1] = 0;
merge(mv, dsc);
imshow("通道混合", dsc);int fromto[] = { 0,2,1,1,2,0 };
mixChannels(&image,1, &dsc,1, fromto,3);
}
mixChannels声明:
CV_EXPORTS void mixChannels(const Mat* src, size_t nsrcs, Mat* dst, size_t ndsts,
const int* fromTo, size_t npairs);
第一个参数:输入矩阵
第二个参数:输入矩阵的数量
第三个参数:输出矩阵
第四个参数:输出矩阵的数量
第五个参数:复制列表
第六个参数:复制列表的数量
通道分离结果:
通道合并结果:
通道混合结果:
over!!!