1. 程式人生 > >OpenCV圖片色彩空間的拆分與合併

OpenCV圖片色彩空間的拆分與合併

程式碼位置: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的名稱進行區分。
在這裡插入圖片描述