圖形學筆記2——反走樣 (antialiasing)

來源:互聯網
上載者:User

在光柵顯示器上顯示圖形時,直線段或圖形邊界或多或少會呈鋸齒狀。原因是圖形訊號是連續的,而在光柵顯示系統中,用來表示圖形的卻是一個個離散的象素。這種用離散量表示連續量引起的失真現象稱之為走樣(aliasing);用於減少或消除這種效果的技術稱為反走樣(antialiasing)。點陣圖形的走樣現象除了階梯狀的邊界外,還有圖形細節失真(圖形中的那些比象素更窄的細節變寬),狹小圖形遺失等現象。常用的反走樣方法主要有:提高解析度、地區採樣和加權地區採樣。

 

提高解析度

把顯示器解析度提高一倍,直線經過兩倍的象素,鋸齒也增加一倍,但同時每個階梯的寬度也減小了一倍,所以顯示出的直線段看起來就平直光滑了一些。這種反走樣方法是以4倍的儲存空間代價和掃描轉換時間獲得的。因此,增加解析度雖然簡單,但是不經濟的方法,而且它也只能減輕而不能消除鋸齒問題。

 

地區採樣

地區採樣方法假定每個象素是一個具有一定面積的小地區,將直線段看作具有一定寬度的狹長矩形。如

當直線段與象素有交時,求出兩者相交地區的面積,然後根據相交地區面積的大小確定該象素的亮度值。 有時為了簡化計算可以採用離散的方法。首先將螢幕象素均分成n個子象素,然後計算中心點落在直線段內的子象素的個數k。最後將螢幕該象素的亮度置為最大灰階值乘以相交地區面積的近似值k/n。

如,n=9, k=3的情形,近似面積為1/3

非加權地區採樣方法有兩個缺點:(1)象素的亮度與相交地區的面積成正比,而與相交地區落在象素內的位置無關,這仍然會導致鋸齒效應。(2)直線條上沿理想直線方向的相鄰兩個象素有時會有較大的灰階差。

 

加權地區取樣

為了克服上述兩個缺點,可以採用加權地區取樣方法,使相交地區對象素亮度的貢獻依賴於該地區與象素中心的距離。

首先將象素均勻分割成n個子象素。則每個象素的面積為1/n。計算每個子象素對原象素的貢獻,並儲存在一張二維的加權表中。然後求出所有中心落於直線段內的子象素。最後計算所有這些子像素對原像素亮度貢獻之和∑wi的值,該值乘以最大灰階值作為該象素的顯示灰階值.

例如:我們將一個像素劃分為n=3×3個子象素,加權表可以取作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.