opencv视觉学习温习(二)

一:分离颜色通道

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);

猜你喜欢

转载自blog.csdn.net/zhikaixuan/article/details/84283093
今日推荐