merge()函数是将多个数组合并成一个多通道的数组。将一些孤立的单通道数组合并成一个多通道数组,创建一个由多个单通道阵列组成的多通道阵列。
merge()函数的C++有两个版本:
void merge(const Mat& mv, size_tcount, OutputArray dst);
void merge(InputArrayOfArray mv, OutputArray dst);
参数说明:
第一个参数:const Mat& mv,填需要被合并的输入矩阵或vector容器的阵列,这个mv参数中所有的矩阵必须有着一样的尺寸和深度。
第二个参数:size_tcount,当mv为一个空白的C数组时,代表输入矩阵的个数,必须大于1。
第三个参数:dst,输出矩阵,和mv[0]拥有一样的尺寸和深度,并且通道的数量是矩阵阵列中的通道的总数。
第i个输入数组的元素被视为mv[i]。C一般用其中的Mat::at()方法对某个通道进行存取,即channels.at()。
Mat::at()方法返回一个引用到指定的数组元素,这样修改其中一个,另一个也会随之改变。
下边是一个merge()函数示例(关于通道分离,参考《OpenCV3编程入门》通道分离:split()函数):
#include <opencv2/core