簡體   English   中英

如何在openCV中拆分顏色通道而不返回灰度圖像? 我嘗試了以下返回灰度圖像的方法

[英]How to split colour channels in openCV without returning a gray scale image? I have tried the following it returns a gray scale image

如何在openCV中拆分顏色通道而不返回灰度圖像? 我已經嘗試了以下它返回灰度圖像?

import cv2
import numpy as np

img = cv2.imread("1.jpeg")
(channel_b, channel_g, channel_r) = (img[:,:,0], img[:,:,1], img[:,:,2])

cv2.imshow('red',channel_b)
cv2.waitKey(0)
cv2.destroyAllWindows()

事實是,單獨的通道實際上沒有分配顏色。

如果使用imshow顯示尺寸為(m, n, 3)的圖像,則該方法假定3個通道代表R,G和B。但是,如果獲得的圖像尺寸為(m, n, 1)(m, n)假定圖像中沒有顏色,並以灰度顯示。

總之,這意味着通道分離沒有什么問題, imshow只是不知道, channel_r中的值是圖像的紅色部分。

如果您確實只想顯示紅色部分,則可以執行以下操作:

red = np.zeros(img.shape)
red[:,:,2] = img[:,:,2]

cv2.imshow('red', red)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM