opencv-python 教程 https://www.cnblogs.com/Undo-self-blog/p/8424220.html
9.4 拆分及合并图像通道
有时我们需要对 BGR 三个通道分别进行操作。这是你就需要把 BGR 拆分成单个通道。有时你需要把独立通道的图片合并成一个 BGR 图像。你可以这样做:
import cv2
import numpy as np
img=cv2.imread('roi.jpg')
b,g,r=cv2.split(img) # 注意opencv图像通道顺序 BGR
img=cv2.merge(b,g,r)
或者,直接使用数组索引
import cv2
import numpy as np
img=cv2.imread('/home/duan/workspace/opencv/images/roi.jpg')
b=img[:,:,0]
假如你想使所有像素的红色通道值都为 0,你不必先拆分再赋值。你可以直接使用 Numpy 索引,这会更快。
import cv2
import numpy as np
img=cv2.imread('/home/duan/workspace/opencv/images/roi.jpg')
img[:,:,2]=0
注意
cv2.split() 是一个比较耗时的操作。只有真正需要时才用它,能用Numpy 索引就尽量用。