python+opencv图像处理(三)

彩色图像拆分与合并

外面的世界很精彩,很缤纷,很鲜艳,很五颜六色......

通常我们拍摄的图片都是彩色的,即RGB图像。自然界中的绝大多数颜色也都可以看作是由红(Red)、绿(Green)、蓝(Blue)三种颜色组合而成。

在图像处理中把R、G、B看作是三个通道,可以把一幅彩色图像的三个通道拆分出来,也可以将拆分出来的三个通道合并回去。

1、RGB拆分三通道

如下图所示,第一张为美女lena的原图,后面三张是拆分过的三通道的图像。

你会发现,怎么显示出来都是灰度图像呢,没错,实验做出来就是这个样子的。

源代码如下:

import cv2

src = cv2.imread('E:/image/le.jpg')

b,g,r=cv2.split(src)

cv2.imshow("src",src)

cv2.imshow("b",b)

cv2.imshow("g",g)

cv2.imshow("r",r)

cv2.waitKey(0)

第一行,导入opencv包

第二行,读入图片

第三行,拆分三通道

后面四行,显示源图片,三通道的图片

从代码你会发现,其实就是用了opencv的函数split(),来对彩色图像进行拆分。

但是要注意一点哦,拆分出来的三通道顺序是b,g,r,而不是我们认为的顺序R,G,B。

2、融合各通道颜色

上图好像不太好区分到底哪张图片是哪个通道的,来看看下图吧。

   各通道颜色是不是很清晰,很明显,看一眼便知。

但这只是合并进去的颜色哦,看代码可知。

import cv2

import numpy as np

src = cv2.imread('E:/image/le.jpg')

b,g,r=cv2.split(src)

zeros = np.zeros(src.shape[:2],dtype="uint8")

b=cv2.merge([b,zeros,zeros])

g=cv2.merge([zeros,g,zeros])

r=cv2.merge([zeros,zeros,r])

cv2.imshow("src",src)

cv2.imshow("b",b)

cv2.imshow("g",g)

cv2.imshow("r",r)

第一行,导入opencv包

第二行,导入numpy包,numpy是比较著名的一个包,常用于科学计算等

第三行,读入图片

第四行,拆分图片

第五行,创建与源图片大小相同的数组,全部设置为0

第六、七、八行,是融合三通道回RGB图片,因为只想分别显示各通道的图片,所以除了要显示的通道外,其余两个通道均用0。

后四行,显示图片

3、彩色图像的融合

上幅图片其实已说明了如何进行三通道的融合,就是用merge()函数。

import cv2

src = cv2.imread('E:/image/le.jpg')

b,g,r=cv2.split(src)#拆分

dst=cv2.merge((b,g,r))#融合

cv2.imshow("src",src)

cv2.imshow("dst”,dst)

上述代码比较简单,先将源图片进行拆分,再对其进行融合,即要得到下面的结果,可以看出,两张图片是一样一样的。

(0)

相关推荐

  • 【从零学习OpenCV 4】颜色模型与转换

    重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<从零学习OpenCV 4>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通 ...

  • 图像特征之傅里叶描述子

    使用C++.opencv获取轮廓的傅里叶描述子 傅里叶描述子是一种图像特征,具体来说,是一个用来描述轮廓的特征参数.其基本思想是用物体边界信息的傅里叶变换作为形状特征,将轮廓特征从空间域变换到频域内, ...

  • OpenCV探索之路(十一):轮廓查找和多边形包围轮廓

    Canny一类的边缘检测算法可以根据像素之间的差异,检测出轮廓边界的像素,但它没有将轮廓作为一个整体.所以要将轮廓提起出来,就必须将这些边缘像素组装成轮廓. OpenCV中有一个很强大的函数,它可以从 ...

  • 【从零学习OpenCV 4】中值滤波

    重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<OpenCV 4开发详解>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通 ...

  • 【从零学习OpenCV 4】图像中添加椒盐噪声

    重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<从零学习OpenCV 4>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通 ...

  • 【从零学习OpenCV 4】直方图均衡化

    重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<从零学习OpenCV 4>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通 ...

  • 【从零学习OpenCV 4】两图像间的像素操作

    重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<从零学习OpenCV 4>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通 ...

  • 【OpenCV 4开发详解】图像腐蚀

     小白学视觉",选择"星标"公众号 重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<OpenCV 4开发详解>. ...

  • 【从零学习OpenCV 4】多通道分离与合并

    重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<从零学习OpenCV 4>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通 ...

  • 【从零学习OpenCV 4】图像膨胀

    重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<OpenCV 4开发详解>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通 ...