今天呢,我们一起来学习彩色图像的颜色通道分离与多通道图像混合,一般情况下,我们大多数看到的图像都是基于RGB颜色通道的图像,因此要实现颜色通道的分离,即要将R、G、B三个通道分离,而多通道图像混合,即将R、G、B三个通道的图像进行混合起来,重新组成一幅彩色图像。
实现的话,我们可以通过OpenCV的split函数与merge函数可以很方便的达到目的。
接下来我们正式进入颜色通道分离与多通道图像混合的内容
一、颜色通道的分离与合并
1、split()函数
功能:将一个多通道的数组分离成几个单通道的数组。
函数原型:
void split(const Mat& src, Mat*mvbegin);void split(InputArray m,OutputArrayOfArrays mv);
- 第一个参数,InputArray类型的m或者const Mat&类型的src,填我们需要进行分离的多通道数组。
- 第二个参数,OutputArrayOfArrays类型的mv,填函数的输出数组或者输出的vector容器。
split函数分割多通道数组转换成独立的单通道数组,按公式来看就是这样:
分离彩色图像的实例:
#include #include using namespace std;using namespace cv;int main() {Mat srcImage = imread("lena.png