OpenCV图片色彩空间的拆分与合并

《OpenCV系列教程》
项目位置:OpenCV-Sample
代码位置:12-SplitingAndMerginOfColorChannels.py

import  cv2
import numpy as np

img = cv2.imread('./res/mini.jpeg')

(R, G, B) = cv2.split(img)

cv2.imshow('ORG', img)
cv2.imshow('R', R)
cv2.imshow('G', G)
cv2.imshow('B', B)

merged = cv2.merge([R, G, B])
cv2.imshow('Merged', merged)

################
onlyR = np.zeros(img.shape, img.dtype)
onlyR[:, :, 0] = img[:, :, 0]
cv2.imshow('onlyR', onlyR)

onlyG = np.zeros(img.shape, img.dtype)
onlyG[:, :, 1] = img[:,:,1]
cv2.imshow('onlyG', onlyG)

onlyB = np.zeros(img.shape, img.dtype)
onlyB[:, :, 2] = img[:, :, 2]
cv2.imshow('onlyB', onlyB)

ColorMer = np.zeros(img.shape, img.dtype)
ColorMer[:, :, 0] = onlyR[:, :, 0]
ColorMer[:, :, 1] = onlyG[:, :, 1]
ColorMer[:, :, 2] = onlyB[:, :, 2]
cv2.imshow('ColorMer', ColorMer)

cv2.waitKey()
cv2.destroyAllWindows()
  • 通过split拆分出来的,显示出来都是灰色的,因为只有一个色彩通道,当灰度图处理了。
  • 第二个方式仅仅取了单个通道的数值,其他通道数值都是0,所以只能显示单色。

第一个方式显示出来的图片,可以通过title的名称进行区分。
在这里插入图片描述

第二个方式显示出来的图片,可以通过title的名称进行区分。
OpenCV图片色彩空间的拆分与合并_第1张图片

你可能感兴趣的:(OpenCV)