split函数主要将图像的通道进行分离,第一个参数为要分离通道的图像矩阵序列,第二个输出参数为分离后的通道数组序列,顺序为BGR,分离例子如下:
//
Mat image = imread("1.png");
std::vector<Mat> imgarry;
split(image,imgarry);
imshow("B",imgarry[0]);
imshow("G",imgarry[1]);
imshow("R",imgarry[2]);
注意:分离后的三幅图像都是黑白灰的,这是因为分离后的通道为单通道,相当于分离通道的同时把其他两个通道添入了相同的数值。如果想看到纯色,比如想看到纯蓝色,可以使用merge
函数,如下:
imgarry[1] = 0;
imgarry[2] = 0;
Mat showImg;
merge(imgarry,showImg);
imshow("B",showImg);
可看到蓝色通道图像