OpenCV实现图像通道分割与组合

计算机视觉中处理的图片多是BGR三通道图像,有时根据需要会将图像按照通道分割,有时会将多个通道的图像进行组合成一幅图像,特别是做图像层融合时。OpenCV提供了两个函数split()和merge()来实现图像的通道分割和合并。

通道分割split():

vector<Mat> channels;
split(image1, channels);//分割image1的通道
split(imageROI2, channels);
Mat channels1 = channels[0];//获取通道1
Mat channels2 = channels[1];//获取通道2
Mat channels3 = channels[2];//获取通道3

通道合并merge():

Mat MultiImage;
merge(channels, MultiImage);
 合并后回合原图一样

   

这里主要想表达的是我们可以通过merge()函数将几个不同图像的单通道的图形合并成一个多通道的图像,可以实现特征融合中的像素层级别的融合

Mat srcImage1 = imread("C:/Users/Administrator/Desktop/1.jpg",0);
Mat srcImage2 = imread("C:/Users/Administrator/Desktop/2.jpg",0);
Mat srcImage3 = imread("C:/Users/Administrator/Desktop/3.jpg",0);
resize(srcImage1, srcImage1, Size(200, 200));
resize(srcImage2, srcImage2, Size(200, 200));
resize(srcImage3, srcImage3, Size(200, 200));
vector<Mat> channels;
channels.push_back(srcImage1);
channels.push_back(srcImage2);
channels.push_back(srcImage3);
Mat MultiImage;
merge(channels, MultiImage);

    

原则上是可以将多个通道的图像进行合并的,只要他们的尺寸大小相同。


  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值