目录
- 读取和显示图像
- 分离和合并颜色通道
- 通道分离显示
- 总结
读取和显示图像
import cv2def img_show(name, img):"""显示图片:param name: 窗口名字:param img: 图片对象:return: None"""cv2.imshow(name, img)cv2.waitKey(0)cv2.destroyAllWindows()# 读取图像
img = cv2.imread('bg.jpg')
print('彩图的形状:', img.shape)# 显示图像
img_show('Original Image', img)
分离和合并颜色通道
# 分离颜色通道
b, g, r = cv2.split(img)
print('单通道的形状:', r.shape)# 合并颜色通道
img_ = cv2.merge((b, g, r))
print('合并图的形状:', img_.shape)
通道分离显示
# 只保留蓝色通道,其余置为0
img_B = img.copy()
img_B[:, :, 1] = 0
img_B[:, :, 2] = 0
img_show('Blue Channel', img_B)# 只保留绿色通道,其余置为0
img_G = img.copy()
img_G[:, :, 0] = 0
img_G[:, :, 2] = 0
img_show('Green Channel', img_G)# 只保留红色通道,其余置为0
img_R = img.copy()
img_R[:, :, 0] = 0
img_R[:, :, 1] = 0
img_show('Red Channel', img_R)
总结
- 即使是高维度 也是剥壳 [:,1] 逗号前面就是一层壳
- 二维只有 [行,列]
- 三维只有 [高,宽,[B,G,R]]
- :整个壳