<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一文讀懂圖像中的通道

          共 2273字,需瀏覽 5分鐘

           ·

          2021-05-08 13:08

          有少數(shù)顏色空間可以表示圖像,如RGB,BGR,HSV,CMYK等,但它們都有一些共同點。它們是這些色彩空間用來共同形成圖像的通道。

          灰度圖像

          灰度圖像是單通道圖像,其中每個像素只攜帶有關(guān)光強(qiáng)度的信息。這些圖像完全由灰色陰影組成。
          灰度圖像不應(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ù)字的值是該像素中的光強(qiáng)度。
          由于上述圖像陣列中的每個數(shù)字代表一個像素,因此稱為單通道圖像。計算機(jī)視覺中每個像素的光強(qiáng)度是從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)是紅光強(qiáng)度,第1個指標(biāo)是綠光強(qiáng)度,第2個指標(biāo)是藍(lán)光強(qiáng)度。
          打印此圖像的形狀時,它將打印一個包含高度、寬度和通道數(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)很大。

          ?------------------------------------------------


          雙一流高校研究生團(tuán)隊創(chuàng)建 ↓

          專注于計算機(jī)視覺原創(chuàng)并分享相關(guān)知識 ?


          整理不易,點贊三連!

          瀏覽 107
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91视频免费入口 | 一本道一区二区三区 | 操逼网站观看 | 色逼逼免费视频网站 | 4438最新网址 |