訂閱
糾錯
加入自媒體

一文了解圖像中通道的相關(guān)知識

有少數(shù)顏色空間可以表示圖像,如RGB,BGR,HSV,CMYK等,但它們都有一些共同點。它們是這些色彩空間用來共同形成圖像的通道。讓我們看看頻道的一些定義。維基百科上說,彩色數(shù)字圖像由像素組成,像素由一系列代碼表示的原色組合而成。在這種情況下,通道是與彩色圖像大小相同的灰度圖像,僅由這些原色之一構(gòu)成。如果這聽起來很混亂,聽我說完。這個定義說,每個圖像都是由像素組成的,每個像素都是由顏色的組合組成的,更準(zhǔn)確地說,就是原色。通道是彩色圖像的灰度圖像,它僅由構(gòu)成彩色圖像的一種原色組成。

灰度圖像是單通道圖像,其中每個像素只攜帶有關(guān)光強度的信息。這些圖像完全由灰色陰影組成。

灰度圖像不應(yīng)與僅包含黑白像素的黑白圖像(二值圖像)混淆。在二值圖像中,一個像素要么是黑色,要么是白色。它們之間沒有顏色。但是灰度圖像的像素有很大的灰度范圍。現(xiàn)在讓我們看看打印灰度圖像陣列時得到了什么。為此,我們使用以下代碼:

import cv2 as cv
image = cv.imread("D://medium_blogs//architecture.jpg")
gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
print(gray)
print("")
print(gray.shape)
輸出為:

如你所見,打印的陣列是一個二維陣列,其中每個數(shù)字代表一個像素,數(shù)字的值是該像素中的光強度。由于上述圖像陣列中的每個數(shù)字代表一個像素,因此稱為單通道圖像。計算機視覺中每個像素的光強度是從0到255測量的,稱為像素值。像素值為0時為黑色,像素值為255時為白色。因為我們使用OpenCV來讀取圖像數(shù)組,所以上面數(shù)組的尺寸是形狀高度x寬度。在這里,圖像沿y軸(高度)有6016個像素,沿x軸(寬度)有4016個像素。

RGB圖像

與灰度圖像不同,RGB圖像是三通道的。每個像素由三個通道組成,每個通道代表一種顏色,F(xiàn)在,讓我們打印一個RGB圖像并觀察結(jié)果。我們使用以下代碼:import cv2 as cv
image = cv.imread("D://medium_blogs//architecture.jpg")
RGB = cv.cvtColor(image, cv.COLOR_BGR2RGB)
print(RGB)
print("")
print(RGB.shape)
輸出為:

這次的輸出是一個三維數(shù)組!在此圖像中,每個像素有三個通道。第二維度中的每個數(shù)組表示一個像素。第0個指標(biāo)是紅光強度,第1個指標(biāo)是綠光強度,第2個指標(biāo)是藍(lán)光強度。打印此圖像的形狀時,它將打印一個包含高度、寬度和通道數(shù)的元組。將這三個值相乘,得到圖像數(shù)組中的值總數(shù)。

分別顯示每個通道

現(xiàn)在我們知道了什么是通道,讓我們看看每個通道分別是什么樣子。觀察下圖:

現(xiàn)在讓我們使用以下代碼拆分上面圖像的通道:import cv2 as cv
import numpy as np
image = cv.imread("D://medium_blogs//colours.jpg")
image = cv.cvtColor(image, cv.COLOR_BGR2RGB)
(R,G,B) = cv.split(image)
cv.namedWindow("Blue", cv.WINDOW_NORMAL)
cv.namedWindow("Green", cv.WINDOW_NORMAL)
cv.namedWindow("Red", cv.WINDOW_NORMAL)
cv.imshow("Blue",B)
cv.imshow("Green", G)
cv.imshow("Red", R)
cv.imwrite("D://medium_blogs//channel_red.jpg", R)
cv.imwrite("D://medium_blogs//channel_green.jpg", G)
cv.imwrite("D://medium_blogs//channel_blue.jpg", B)
if cv.waitKey(0):
   cv.destroyAllWindows()

我們使用OpenCV的split函數(shù)來分割通道。代碼的輸出為:我知道現(xiàn)在有幾個問題擾亂了你的思維過程。所以讓我解釋一下。紅色通道

綠色通道

藍(lán)色通道

為什么它們是灰度的?這是因為,當(dāng)我們分割通道時,每個圖像中的像素現(xiàn)在只有一個通道。所以它們是灰色的。如何區(qū)分這些圖像?把每個圖像和原始圖像比較一下。讓我們拍攝紅色通道的圖像。你可以看到原始圖像中包含紅色的區(qū)域在紅色通道圖像中更亮。這僅僅意味著,對原始圖像的紅色貢獻(xiàn)較大的區(qū)域在紅色通道的灰度圖像中會更亮。貢獻(xiàn)較少或沒有貢獻(xiàn)的區(qū)域是黑暗的。這適用于所有三個通道。為什么在綠色和紅色通道中黃色較淺?那是因為黃色是紅色和綠色的混合物。所以綠色和紅色對黃色的貢獻(xiàn)很大。

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號