彩色圖像由多個(gè)通道組成:紅色,綠色和藍(lán)色組件
拆分圖像顏色通道使用cv2.split(image)方法
合并 使用 cv2.merge([B,G,R]) 方法
import numpy as np
import argparse
import cv2
ap = argparse.ArgumentParser()
ap.add_argument("-i","--image",required =True, help="Path to the image")
args = vars(ap.parse_args())
image = cv2.imread(args["image"])
(B,G,R) = cv2.split(image)
# 我們?cè)赗GB色彩空間中考慮圖像 - 紅色像素第一缔御,綠色像素第二,藍(lán)色像素第三终议。
#但是贷盲,OpenCV以反向通道順序?qū)GB圖像存儲(chǔ)為NumPy數(shù)組。而不是以RGB順序存儲(chǔ)圖像拟逮,而是以BGR順序存儲(chǔ)圖像;因此我們按照相反的順序解開(kāi)元組
cv2.imshow("Red",R)
cv2.imshow("Green",G)
cv2.imshow("Blue",B)
merged = cv2.merge([B,G,R])
cv2.imshow("Merged",merged)
cv2.waitKey(0)
cv2.destroyAllWindows()
zeros = np.zeros(image.shape[:2],dtype="uint8")
cv2.imshow("Red",cv2.merge([zeros,zeros,R]))
cv2.imshow("Green",cv2.merge([zeros,G,zeros]))
cv2.imshow("Blue",cv2.merge([B,zeros,zeros]))
cv2.waitKey(0)
# 為了顯示頻道的實(shí)際“顏色”撬统,我們首先需要使用cv2.split來(lái)分割圖像。
# 然后敦迄,我們需要重新構(gòu)建圖像恋追,
# 但這次設(shè)置所有像素為0,除了當(dāng)前通道
|
圖·1
圖·2
把時(shí)間當(dāng)朋友罚屋。