本篇隸屬于文集:《零基礎(chǔ)入門音視頻開發(fā)》,查看文集全部文章,請點擊文字鏈接。
想看最新文章,可以直接關(guān)注微信公眾號:金架構(gòu)
上次說到了圖像的三個基本屬性,只說了一個圖像分辨率,下面開始介紹另外兩個基本屬性。
3.2 第二個屬性:像素深度和阿爾法(α)通道
像素深度其實就是,存儲每個像素所用的位數(shù)(科普:1GB=1024MB 1MB=1024KB 1KB=1024B B俗稱字節(jié) 1字節(jié)等于八位,單位bit)。比如一個用RGB三個分量表示的彩色圖像,若每個分量用8位表示,那么一個像素共用24位表示,我們就說圖像的像素深度為24位
3.2.1 像素深度的意義
像素深度決定了“彩色圖像”的每個像素可能有的顏色數(shù),或者是“灰度圖像”的每個像素可能有的灰度級數(shù)。比如當像素深度為24位時,那么每個像素可以是16777216(2的24次方)種顏色的一種。
對于追求完美的人估計會說,如果我們提高像素深度,那每個像素能顯示的顏色種類不就更多了,圖像也就更細膩更自然了。
理論上確實是這樣,但是一旦我們提高了像素深度,圖像所對應的存儲空間也急劇上升。請注意像素深度是表示一個像素所占的空間,對于一幅分辨率為640x480,像素深度為24位的圖像,它所占的空間為 640 x 480 x 3 = 921600字節(jié)。
而且受到設備和人眼分辨率的限制,像素深度不一定要特別深。普通人在正常情況下,只能識別二百多種顏色,多達一千六百多萬種的顏色已然足足夠用。
3.2.2 阿爾法(α)通道
假設一幅圖像的每個像素,用32位來表示,那么它的最高8位,就稱為8位α通道,其余24位是顏色通道,紅、綠、藍分量各占一個8位通道。
3.2.3 α通道的作用
它用于表示像素在對象中的透明度(alpha)。比如用兩幅圖像A和B混合成一幅新圖像,那么新圖像C的像素為:C的像素 = (alpha)x(A的像素) + (alpha)x(B的像素) 。式中的alpha就是α的值。
再舉個例子,如果一個像素用(A,R,G,B)四個分量表示,A表示α的值,取值0到1。則像素值為(1,1,0,0)時表示紅色,并且紅色強度為1,可以理解為完全不透明的紅色。
如果像素值為(0.5,1,0,0),使用0.5乘R、G、B三個分量,得出(0.5,0.5,0,0),表示紅色的強度為0.5,可以理解為紅色半透明。
3.3 第三個屬性:真彩色、偽彩色和直接色
3.3.1 真彩色
這個應該比較好理解,它是指每個像素的顏色值,用RGB表示的顏色。例如用RGB 5:5:5表示圖像顏色,R、G、B各用5位,其值大小,直接確定三個基色的強度。這樣得到的彩色,是真實的原圖彩色。
3.3.2 偽彩色
它指每個像素的顏色值,不是通過R、G、B三個分量直接確定的,而是通過彩色查找表,查找要顯示圖像的R、G、B值,以此來生成彩色。
這樣解釋可能不太好懂,因此我找了個例子。在有偽彩色應用的顯示設備中,幀緩存顯示圖像的時候,會使用某一顏色值的索引,到彩色查找表里,查找對應的RGB分量值。流程圖如下
這樣通過查找得到的彩色是真的,但不是圖像本身真正的顏色,它并沒有反應原圖真正的顏色。因此稱為偽彩色
3.3.3 直接色
把每個像素的RGB三個分量,作為單獨的索引值對它做變換,并用變換后的R、G、B值產(chǎn)生顏色。注意重點是變換,至于怎么變換,可以先忽略。
4. 圖像的種類
圖像的種類常分為兩種,這里說的種類,并不是指png、jpeg,這是圖像的格式,而不是種類。圖像的種類是指,表示圖像所用的方法。
4.1 位圖
在之前的時候,曾多次重復過柵格圖像這個概念(因為是寫系列文章,所以我不再重復啦)。
在描述一幅圖像的時候,作為普通人,我們所認知的圖像,多數(shù)是比如人物、風景等存在手機里的圖片,這樣的圖像是使用柵格圖像的方法來描述的。每幅圖像,都由許多像素組成,就像我們小時候玩的拼圖。
如果作為普通用戶,我們就會想,圖像不都是這樣嘛,不用一個像素一個像素表示,那要怎么表示呢。
舉個例子,我們平常聊天的時候會發(fā)表情,而表情可以簡單分為符號表情和Emoji表情(圖像表情)。符號表情類似為???( ??? )??? ,Emoji表情就不用說了吧。注意觀察符號表情,它只是由豎線、半圓或其他幾何形狀表示。
而在圖像的表示法里面,圖像的另外一種表示方法,也類似。
4.2 矢量圖
矢量圖是使用點、線、弧、曲線、多邊形或者其他幾何形狀和位置,來表示圖像的一種方法。實際上就是使用各種數(shù)學表達式來描述一幅圖,然后轉(zhuǎn)化成計算機語音再顯示出來。
就像描述一個三角形的時候,我們只需要知道三個點,就可以得到一幅圖像。
矢量圖和位圖對比
在矢量圖表示法中,因為圖中的幾何形狀簡稱對象,都是使用數(shù)學規(guī)則來描述的,所以在顯示的時候,無論是放大還是縮小,或者移動旋轉(zhuǎn)拷貝,都是比較容易做到的。而且在放大或縮小的時候,圖像依然能夠保持清晰。
為什么?就拿矩形來說,如果我放大了,矩形的四個點,只是在屏幕上的坐標位置變了下,中間依然是靠線段連接,如左圖,圖像并不會失真。它并不會像位圖那樣,放大到最后,會看到圖像的像素塊,如右圖。
而且矢量圖在計算機存儲的時候,存儲的是數(shù)學規(guī)則,并且可以把類似的圖形做統(tǒng)一處理,所以在文件大小方面較好掌控。而位圖則是把每個像素都存起來,圖像分辨率高、像素深度深的時候,占的空間會比較大。
那為什么我們手機里的圖像,還是位圖呢?
第一點,這是因為,真實世界里的景象紛雜無序,很難用規(guī)則的幾何圖形去表達。
第二點,是因為,真實世界里色彩紛雜,顏色變化陰暗透明起承轉(zhuǎn)合,如果幾何圖形再加上顏色變化,難上加難。
所以總結(jié)起來,位圖較多用來描述風景、人物,等不規(guī)則且色彩豐富的圖像。而矢量圖因為它無限放大而不失真的特性,在一些文字設計、標志設計方面應用廣泛。
5. 灰度圖和彩色圖像
5.1 灰度圖
這兩種比較好理解,灰度圖就是只有明暗像素,沒有彩色像素組成的圖像。就像我們小時候看的黑白電視。
再細分下去,當只有黑白兩種顏色時的圖像,稱為單色圖像。這樣一來,它的每個像素的像素值,用一位(一個比特位/bit)來存儲,值為”0“或”1“,像素點非黑即白。
而一個標準的灰度圖,一個像素用一個字節(jié)(8位)表示,這樣每個像素的值就可以為,0~255(二的八次方)之間的任意值,稱為256級灰度。當圖像的分辨率為640X480的時候,它的存儲空間為300KB(640*480/1024)。
下圖是標準單色圖和標準灰度圖的對比。
5.2 彩色圖像
現(xiàn)在看到這個詞應該很熟悉吧,說一下它的特性會更熟悉。彩色圖像的每個像素,包含了圖像的顏色信息。
在劃分彩色圖像的時候,一般用顏色的數(shù)目來劃分。比如:
256色圖像:它是指像素的R、G、B三個值,用一個字節(jié)來表示,這樣一個像素點可能的顏色值,就為256(二的八次方)色之一。
真彩色圖像:每個像素的R、G、B值,分別用一個字節(jié)來表示。這樣一個像素點可能的顏色值,就為1677萬(二的二十四次方)多色之一。這里的真彩色圖像,相對于圖像(一)中,又多了一層含義。它表示了這種圖像,達到了人眼分辨率的極限,反應了原圖的真實色彩。故稱為真彩色。當圖像的分辨率為640X480時,它的存儲空間為900KB(6404803/1024)。
6. 伽馬矯正
這個詞應該很多人都聽過,即使不是專業(yè)人士,也可能早有耳聞。
在很多教材中,說之所以有伽馬矯正這個東西,是因為攝像機或手機的攝像頭,在采集自然界圖像的時候,光的攝入和攝像機電壓的轉(zhuǎn)換,并不是線性的。
而在顯示的時候,CRT發(fā)射的光的強度,和它的輸入電壓也不是線性的。
這樣就會導致,從采集的一幅圖像,到存儲成圖像文件,再到讀出圖像文件,在顯示器上顯示的時候,我們看到的顯示出來的圖像,并不是最開始采集的圖像。
為了解決這個問題,就有了伽馬矯正這個東西。
它在采集和顯示圖像的時候,分別進行矯正,以達到還原原始場景的目的。
在伽馬矯正這個問題上,討論很多,知乎上有一個高票答案,討論關(guān)于廣義的伽馬矯正,有興趣的朋友可以看下,真的很有趣,鏈接如下:
https://www.zhihu.com/question/27467127
7. 圖像的壓縮編碼
具體的壓縮編碼后面再講,這里只粗略講一下,為啥要進行壓縮編碼。
恩,如果不進行壓縮編碼,圖像會很大,完全不利于網(wǎng)絡傳輸。而且普通人只能分辨二百多種顏色,多了也看不出來,所以1677萬完全浪費。
所以后來就有了JPEG壓縮編碼,注意這里說的JPEG,是指一種圖像數(shù)據(jù)的壓縮編碼標準,并不是JPEG格式。
什么是格式,什么是標準
標準是指,在壓縮圖像數(shù)據(jù)的時候,該采用什么算法、怎樣的流程去壓縮,注意目的是怎么壓縮。
而格式是指,存放使用JPEG標準壓縮的圖像文件格式。
8. 圖像的文件格式
自從圖像進入計算機以來,已經(jīng)開發(fā)出了很多種圖像文件存儲格式,而且互不兼容。有些不兼容的格式,使用起來很不方便,需要使用特定的軟件,因此有些格式也在逐漸被淘汰。
目前流行的圖像格式為:GIF、JPEG、PNG。
具體他們之間有什么區(qū)別,又是如何產(chǎn)生,有何淵源,等用到的時候再寫,用不到就自動忽略了~~~