python代码
import cv2 as cv
import os
import skimage.io
import numpy as np
img_path = os.path.join(os.getcwd(),'RGB_Original.jpg')
img = skimage.io.imread(img_path)
R = img[:,:,0]
G = img[:,:,1]
B = img[:,:,2]
# Save singel channel R,G,B
skimage.io.imsave('Result_img/R.jpg',R)
skimage.io.imsave('Result_img/G.jpg',G)
skimage.io.imsave('Result_img/B.jpg',B)
image_save = np.zeros(img.shape,dtype=np.float)
RGB_list = [R,G,B]
name_list = ['R','G','B']
#27 combined images
for name1, Channel0 in zip(name_list,RGB_list):
for name2, Channel1 in zip(name_list,RGB_list):
for name3, Channel2 in zip(name_list,RGB_list):
img_name = os.path.join('Result_img',name1+name2+name3+'.jpg')
image_save[:,:,0] = Channel0
image_save[:,:,1] = Channel1
image_save[:,:,2] = Channel2
skimage.io.imsave(img_name,image_save)
图像示例
原理图如下所示:
原始图像如下所示:
通道混搭的原理图像如下所示: