在图像处理中,尤其是处理多通道图像时,有时需要对各个通道进行分离,分别处理;有时还需要对分离处理后的各个通道进行合并,重新合并成一个多通道的图像。opencv2和opencv3中实现图像通道的合并与分离的函数分别是cv::split()和cv::merge()。
1、多通道图像的分离
cv::split()的具体调用方法如下:
void cv::split(
const cv::Mat& mtx, //输入图像
vector<Mat>& mv // 输出的多通道序列(n个单通道序列)
);
2、图像多个通道的合并
cv::merge()的具体调用方法如下:
void merge(
const vector<cv::Mat>& mv, // 输入的多通道序列(n个单通道序列