計算機圖形學基礎:光柵圖像(Fundamentals of computer graphic:Raster Images) 學習筆記

《Fundamentals of computer graphics》4th edition: 3. Raster Images
本文僅僅是本人的學習筆記,由於自己能力有限,可能存在許多錯誤。 由於是學習筆記,內容不全,請以原著爲主

光柵圖像(Raster images)

光柵圖像 (raster image)在很多地方更習慣把它稱作位圖( bitmap image)。我們可以簡單的把一個位圖理解成一個二維數組,數組的每一個元素記錄了一個像素的信息。 除了位圖我們還可使用矢量圖(vector image)來描述圖片。矢量圖最大的優點就是與分辨率無關,我們可以很好的在高分辨率的顯示器上顯示它。矢量圖的缺點是必須要進行光柵化處理才能在顯示器上顯示。所以矢量圖一般用於高精度高解析度的圖片。

(省略一大堆對輸入輸出光柵設備的描述)

1. 圖形,像素與幾何結構(Images, Pixels, and Geometry)

我們測量或是生成一幅圖片時,一般用二維的關係去描述光線。所以在物理世界中,圖像是定義在二維區域上的函數(幾乎總是矩形的)。所以我們可以把圖像抽象爲一個函數:
在這裏插入圖片描述
在這裏插入圖片描述
R是一個矩形的區域,V是像素值可能值的集合。很明顯這個式子表示的是一個連續的圖像,但我們的光柵圖像是離散的。舉兩個例子:
1、由攝像機或是掃描儀獲得的像素顏色實際上是由測量這個像素點周圍的一些小區域取平均值得到的。
2、一個用於顯示的像素由紅綠藍亞像素(subpixel)組成
在這裏插入圖片描述
通過這種結構使得像素表面的平均值由相對應的光柵圖像控制(取局部平均)。

上面兩個例子,像素的顏色值都是取的局部的平均值,這種方法被稱作爲圖像的點取樣(point sample)。也就是說,當我們說一個像素的值是x的時候,指的就是這幅圖片上這個像素點周圍形成的網格的取值爲x。

1.1像素值

理論上光的亮度是無界的,但是我們用的顯示器都有明確的最大能顯示光亮度的值,所以完全可以將光亮度表示爲一個有界的值,通常簡化的表示爲[0,1]。例如一張像素值爲8-bit的圖,每個像素的可能值就是 0, 1/255, 2/255, 3/255 … 254/255, 1。使用浮點數做像素值儲存的圖片能表示的範圍廣,通常稱爲高動態範圍(high dynamic range,HDR)圖像,以將其與固定範圍或用整數存儲的低動態範圍(low dynamic range,LDR)圖像區分開來。下面是書上的一些例子和用法:

在這裏插入圖片描述

1.2 顯示強度與gamma

這部分講的就是γ校正的相關知識。

因爲像素的輸入亮度和顯示器顯示的亮度是非線性的關係。這種非線性關係大致可以表示爲:

在這裏插入圖片描述

求γ的值得一種方法就是找介於黑白的中間值,即:
在這裏插入圖片描述
時 a的值,a的值可以讓用戶自己通過類似於拖動滑塊改變灰度的方式確定。大概長下面這樣子:
在這裏插入圖片描述
右邊的灰度是用戶自己控制的(書上說左邊的黑白格子,離遠了看或者是把眼鏡摘掉看在模糊的情況下可以近似看做0.5時候的值,反正我是沒看出來。。。)。

知道了a,很容易能求出γ,
在這裏插入圖片描述
我們得到γ後,進行gamma校正:
在這裏插入圖片描述
就得到校正後的像素了。說白了就是讓輸入和輸出原本呈現非線性的關係通過gamma校正來達到輸入等於輸出的效果。

2.RBG顏色

過於簡單。。不寫了

3.Alpha合成(Alpha Compositing)

當兩個圖片進行混合的時候我們常用一個α係數去表示混合的比例:
在這裏插入圖片描述
cf是前景顏色,cb爲背景顏色。α爲1時前景完全不透明,爲0時完全透明。
把α的值作爲第四個通道儲存在RGB圖片中就形成了RBGA圖片,α信息佔8bit,可以看做是一張灰度圖。

書上的示例:

在這裏插入圖片描述

一些常用的圖片壓縮格式

無損或有損
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章