訂閱
糾錯(cuò)
加入自媒體

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

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

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

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

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)
輸出為:

如你所見,打印的陣列是一個(gè)二維陣列,其中每個(gè)數(shù)字代表一個(gè)像素,數(shù)字的值是該像素中的光強(qiáng)度。由于上述圖像陣列中的每個(gè)數(shù)字代表一個(gè)像素,因此稱為單通道圖像。計(jì)算機(jī)視覺中每個(gè)像素的光強(qiáng)度是從0到255測(cè)量的,稱為像素值。像素值為0時(shí)為黑色,像素值為255時(shí)為白色。因?yàn)槲覀兪褂肙penCV來(lái)讀取圖像數(shù)組,所以上面數(shù)組的尺寸是形狀高度x寬度。在這里,圖像沿y軸(高度)有6016個(gè)像素,沿x軸(寬度)有4016個(gè)像素。

RGB圖像

與灰度圖像不同,RGB圖像是三通道的。每個(gè)像素由三個(gè)通道組成,每個(gè)通道代表一種顏色,F(xiàn)在,讓我們打印一個(gè)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)
輸出為:

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

分別顯示每個(gè)通道

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

現(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ù)來(lái)分割通道。代碼的輸出為:我知道現(xiàn)在有幾個(gè)問(wèn)題擾亂了你的思維過(guò)程。所以讓我解釋一下。紅色通道

綠色通道

藍(lán)色通道

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

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

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

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

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