opencv——分离颜色通道和多通道颜色组合

本文介绍了一种使用OpenCV库中的split和merge函数,通过vector向量类型通道进行图像多通道分离与组合的方法。该方法读取一张彩色图像,将其分解为红、绿、蓝三个独立的通道,并展示了如何仅保留红色通道,同时将其他通道设为黑色,最后将修改后的通道重新组合成一幅新的图像。

利用split和merge两个函数数,借助于vector向量类型的channel来实现图像多通道的分离和组合:

#include<cv.h>
#include<highgui.h>
#include<iostream>
#include<vector>
using namespace cv;
using namespace std;


int main()
{
	vector<Mat> imagechannel;
	Mat im = cv::imread("C:\\Users\\Administrator\\Desktop\\3.jpg");
	 split( im, imagechannel);
	Mat Gm = imagechannel.at(0);
	Mat Rm = imagechannel.at(1);
	Mat Bm = imagechannel.at(2);
	namedWindow("channels");
	imshow("channels",Rm);
	Mat result_image;
	Mat blank_ch = cv::Mat::zeros(cv::Size(im.cols, im.rows), CV_8UC1);
	vector<Mat>channel_r;
	channel_r.push_back(blank_ch);
	channel_r.push_back(blank_ch);
	channel_r.push_back(Rm);
	merge(channel_r, result_image);
	imshow("r_channel",result_image);
	waitKey(0);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值