有时需要在B, G, R通道图像上单独工作。在这种情况下,需要将BGR图像分割为单个通道,或者在其它情况下,可能㤇将这些单独的通道合并到BGR图像。

通道拆分

import matplotlib.pyplot as plt
import cv2 as cv

vvcat = cv.imread("1.png")
plt.imshow(vvcat[:, :, ::-1])
plt.show()

# 通道拆分
b, g, r = cv.split(vvcat)
plt.imshow(b, cmap=plt.cm.gray) # 显示b通道
plt.show()

OpenCV 图像通道的拆分与合并_图像分割

通道合并

import matplotlib.pyplot as plt
import cv2 as cv

vvcat = cv.imread("1.png")
plt.imshow(vvcat[:, :, ::-1])
plt.show()

# 通道拆分
b, g, r = cv.split(vvcat)

# 通道合并
img = cv.merge((b, g, r))
plt.imshow(img[:, :, ::-1])
plt.show()

OpenCV 图像通道的拆分与合并_图像分割_02