opencv(17) 分离颜色通道、多通道颜色混合

本文介绍了OpenCV中的split()和merge()函数,用于图像的通道分离和合并。split()函数将多通道数组分解为单通道数组,而merge()函数则将单通道数组合并回多通道数组。文中通过实例详细解释了这两个函数的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上节中我们讲解了如何使用addWeighted函数进行图像混合,以及如何将ROI和addWeighted函数结合起来,对指定区域进行图像混合操作。

而为了更好地观察一些图像材料的特征,有时需要对RGB三个颜色通道的分量进行分别显示和调整。通过OpenCV的split和merge方法可以很方便地达到目的。

这一节,我们会详细介绍这两个互为“冤家”的函数。首先来看看进行通道分离的split函数。

1. 通道分离:split()函数

split函数用于将一个多通道数组分离成几个单通道数组。这里的array按语境翻译为数组或者阵列。

这个函数的C++版本有两个原型,分别是:

  • C++:void split(const Mat& src,Mat* mvbegin);
  • C++:void split(InputArray m,OutputArrayOfArrays mv);

变量介绍如下:

  • 第一个参数,InputArray类型的m或者const Mat&类型的src,填我们需要进行分离的多通道数组。
  • 第二个参数,OutputArrayOfArrays类型的mv,填函数的输出数组或者输出的vector容器。

split函数分割多通道数组转换成独立的单通道数组,公式如下:
m v [ c ] ( I ) = s r c ( I ) c mv[c](I)=src(I)_{c} mv[c](I)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值