'''
opencv 读取一张图片是b,g,r通道,将通道改进,假设一通道为零形成图片
'''
import cv2
import numpy as np
pic = cv2.imread('../p.jpg')#读取照片
pic_shape = pic.shape#照片的形状
# print(pic_shape)
chanal = cv2.split(pic)#裁出每个通道的值
for i in range(3):
pic = cv2.imread('../p.jpg')
pic[:, :, i] = 0#将某一通道置零
cv2.imwrite('../_%s.jpg'%i, pic)
pic1 = np.zeros((pic_shape[0], pic_shape[1], pic_shape[2]))#创造与原图等大的零矩阵
pic1[:, :, i] = chanal[i]#将零矩阵的某一通道还原
cv2.imwrite('../%s_pic.jpg'%i,pic1)
原图:
蓝色:
绿红: