opencv入門7:拆分和合并渠道-splitting and merging channels

彩色圖像由多個通道組成:紅色,綠色和藍(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)
# 我們在RGB色彩空間中考慮圖像 - 紅色像素第一,綠色像素第二,藍(lán)色像素第三。
#但是,OpenCV以反向通道順序?qū)GB圖像存儲為NumPy數(shù)組。而不是以RGB順序存儲圖像,而是以BGR順序存儲圖像;因此我們按照相反的順序解開元組
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)
# 為了顯示頻道的實際“顏色”,我們首先需要使用cv2.split來分割圖像。
# 然后,我們需要重新構(gòu)建圖像,
# 但這次設(shè)置所有像素為0,除了當(dāng)前通道

|

圖·1
圖·2

把時間當(dāng)朋友。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容