《OpenCV3编程入门》学习笔记5 Core组件进阶(三)分离&合并颜色通道

本文详细介绍了OpenCV中图像处理的重要功能:颜色通道的分离与合并。通过split()和merge()函数,读者可以学习如何将多通道图像分解为单个颜色通道,并将单个颜色通道重新组合成多通道图像。文章提供了完整的代码示例,帮助读者理解并实践这一关键技能。

第5章 Core组件进阶

5.3 分离&合并颜色通道

5.3.1 通道分离:split()函数

1.作用:将一个多通道数组分离成几个单通道数组,公式:在这里插入图片描述
2.原型:(1)void split(const Mat& src,Mat* mvbegin); (2)void split(InputArray m,OutputArrayOfArrays mv);
3.参数说明:
(1)需要分离的多通道数组(数组类型或const Mat&类型)
(2)函数的输出数组或输出的vector容器
4.示例:把一个3通道图像转换成3个单通道图像

	Mat srcImage = imread("Love.jpg");
	vector<Mat> channels;
	Mat imageBlueChannel;
	Mat imageGreenChannel;
	Mat imageRedChannel;

	//分离彩色通道
	split(srcImage, channels);
	imageBlueChannel = channels.at(0);
	imageGreenChannel = channels.at(1);
	imageRedChannel = channels.at(2);
	//显示
	namedWindow("分离蓝色");
	imshow("分离蓝色", imageBlueChannel);
	namedWindow("分离绿色");
	imshow("分离绿色", imageGreenChannel);
	namedWindow("分离红色");
	imshow("分离红色", imageRedChannel);

5.3.2 通道合并:merge()函数

1.作用:将多个数组合并成一个多通道数组
2.原型:
(1)void merge(const Mat* mv,size_tcount,OutputArray dst);
(2)void marge(InputArrayOfArrays mv,OutputArray dst);
3.参数说明:
(1)需要被合并的输入阵列或vector容器阵列(mv参数中所有矩阵必须有一样的尺寸和深度)
(2)当mv为空白的C数组时代表输入矩阵的个数
(3)输出矩阵
4.示例:

	//合并彩色通道
	merge(channels, srcImage);
	namedWindow("合并彩色通道图");
	imshow("合并彩色通道图", srcImage);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值