在处理图像的过程中,我们经常需要将图像进行通道分离,目的是获取某通道特有的信息。
在OpenCV中,使用split()函数即可实现,如果图像是RGB模型,则返回值为B\G\R,如果是HSV模型则返回值为H\S\V。官方文档地址
使用方法:b,g,r=cv2.split(RGB_Image)
与之相对应的将单通道进行融合我们需要cv2.merge([R,G,B])函数
import cv2
import matplotlib.pyplot as plt
import pylab
pylab.rcParams['figure.figsize'] = (12.0, 10.0)
#第二个参数>0原图,=0灰度图,<0带alpha通道
RGB_Image=cv2.imread('cartoon.png',1)
b,g,r=cv2.split(RGB_Image)
#注意在opencv中为BGR,利用matplotlib显示需要转换
#使用merge函数将其通道进行融合
RGB_Image=cv2.merge([r,g,b])
#显示各通道信息
plt.subplot(141)
plt.imshow(RGB_Image,'gray')
plt.title('RGB_Image')
plt.subplot(142)
plt.imshow(r,'gray')
plt.title('R_Channel')
plt.subplot(143)
<