一:分离颜色通道
split函数,将一个多通道数组分离成几个单通道数组。函数原型:
C++: void split(const Mat& src, Mat*mvbegin);
C++: void split(InputArray m,OutputArrayOfArrays mv);
- 第一个参数,InputArray类型的m或者const Mat&类型的src,填我们需要进行分离的多通道数组。
- 第二个参数,OutputArrayOfArrays类型的mv,填函数的输出数组或者输出的vector容器。
用法:
split(srcImage, channels);//srcImage为读取的图像
merge函数,merge()函数的功能是split()函数的逆向操作,将多个数组组合合并成一个多通道的数组。函数原型:
C++: void merge(const Mat* mv, size_tcount, OutputArray dst)
C++: void merge(InputArrayOfArrays mv,OutputArray dst)
- 第一个参数,mv,填需要被合并的输入矩阵或vector容器的阵列,这个mv参数中所有的矩阵必须有着一样的尺寸和深度。
- 第二个参数,count,当mv为一个空白的C数组时,代表输入矩阵的个数,这个参数显然必须大于1.
- 第三个参数,dst,即输出矩阵,和mv[0]拥有一样的尺寸和深度,并且通道的数量是矩阵阵列中的通道的总数。
用法:
merge(channels, srcImage);