之前分享了有关颜色空间(色彩空间)的总结,最初的想法是想把RGB图像的三个通道拆分开来,结果拆分过程比较曲折,所以写一篇博客记录下来,仅供参考。
首先,我们可以利用opencv中的两个函数来拆分通道(cv2.split)和合并通道(cv2.merge),代码如下:
import cv2
img = cv2.imread('test.jpg') #opencv读取图像文件
b, g ,r =cv2.split(img) #顺序是b,g,r,不是r,g,b
merged = cv2.merge([b,g,r])
cv2.imshow('image',img)
cv2.imshow("Blue 1", b)
cv2.imshow("Green 1", g)
cv2.imshow("Red 1", r)
cv2.imshow("merged 1", merged)
cv2.waitKey(0) #一定要加cv2.waitKey(0),要不然会报错
运行结果实际上会得到五个图片窗口,这个只放上三通道和R通道的图:
其实到这里我们已经可以将RGB图像的三个通道分离开来了,但是又如下几条弯路也在这里一并和大家分享一下。