OpenCV轻松入门:面向Python(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.5.2 通道合并

通道合并是通道拆分的逆过程,通过合并通道可以将三个通道的灰度图像构成一幅彩色图像。函数cv2.merge()可以实现图像通道的合并,例如有B通道图像b、G通道图像g和R通道图像r,使用函数cv2.merge()可以将这三个通道合并为一幅BGR的三通道彩色图像。其实现的语句为

【例2.18】编写程序,演示使用函数cv2.merge()合并通道。

根据题目要求,编写代码如下:

在本例中,首先对BGR图像进行了拆分,接下来又对其进行了两种不同形式的合并。

● 语句b,g,r=cv2.split(lena)对图像lena进行拆分,得到b、g、r这三个通道。

● 语句bgr=cv2.merge([b,g,r])对通道b、g、r进行合并,合并顺序为B通道→G通道→R通道,得到图像bgr。

● 语句rgb=cv2.merge([r,g,b])对通道r、g、b进行合并,合并顺序为R通道→G通道→B通道,得到图像rgb。

运行上述程序,得到如图2-23所示的图像,其中:

● 图2-23(a)是原始图像lena。

● 图2-23(b)是lena图像经过通道拆分、合并后得到的BGR通道顺序的彩色图像bgr。

● 图2-23(c)是lena图像经过通道拆分、合并后得到的RGB通道顺序的彩色图像rgb。

图2-23 【例2.18】程序的运行结果

通过本例可以看出,改变通道顺序后,图像显示效果会发生变化。