第7講 走樣與反走樣及字符處理_第1頁
第7講 走樣與反走樣及字符處理_第2頁
第7講 走樣與反走樣及字符處理_第3頁
第7講 走樣與反走樣及字符處理_第4頁
第7講 走樣與反走樣及字符處理_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、中南大學(xué)地學(xué)與環(huán)境工程學(xué)院中南大學(xué)地學(xué)與環(huán)境工程學(xué)院GISGIS中心中心計算機圖形學(xué)計算機圖形學(xué)1第第7講講 走樣與反走樣和字符處理2走樣現(xiàn)象l走樣(走樣(aliasing)n用離散量(像素)表示連續(xù)的量(圖形)而引起的失真,用離散量(像素)表示連續(xù)的量(圖形)而引起的失真,稱為走樣,或稱為混淆稱為走樣,或稱為混淆l光柵圖形的走樣現(xiàn)象光柵圖形的走樣現(xiàn)象n階梯(鋸齒)狀邊界階梯(鋸齒)狀邊界n圖形細節(jié)失真圖形細節(jié)失真n狹小圖形遺失:動畫序列中時隱時現(xiàn),產(chǎn)生閃爍狹小圖形遺失:動畫序列中時隱時現(xiàn),產(chǎn)生閃爍3(1)階梯狀的圖形邊界)階梯狀的圖形邊界n像素間距大像素間距大線畫圖元線畫圖元填充圖元邊界填充

2、圖元邊界實例實例4(2)圖形細節(jié)失真)圖形細節(jié)失真n顯示圖形的最小單位為像素顯示圖形的最小單位為像素n細長的矩形顯示后成了加寬的矩形細長的矩形顯示后成了加寬的矩形n更細的矩形將丟失更細的矩形將丟失5(3)狹小圖形的遺失與動態(tài)圖形的閃爍)狹小圖形的遺失與動態(tài)圖形的閃爍n多邊形分布在像素間,不覆蓋像素多邊形分布在像素間,不覆蓋像素 中心,不被顯示中心,不被顯示n狹小圖形運動時,會間隔覆蓋像素狹小圖形運動時,會間隔覆蓋像素 的中心,產(chǎn)生閃爍的中心,產(chǎn)生閃爍6反走樣方法l反走樣反走樣(antialiasing)n在圖形顯示過程中,用于減少或消除走樣(混淆)現(xiàn)在圖形顯示過程中,用于減少或消除走樣(混淆)

3、現(xiàn)象的方法象的方法l方法方法n提高分辨率方法提高分辨率方法n非加權(quán)區(qū)域采樣非加權(quán)區(qū)域采樣n加權(quán)區(qū)域采樣加權(quán)區(qū)域采樣7(1)提高分辨率的反走樣方法)提高分辨率的反走樣方法n方法簡單,但代價非常大方法簡單,但代價非常大顯示器的水平、豎直分辯率各提高一倍,則顯示顯示器的水平、豎直分辯率各提高一倍,則顯示器的點距減少一倍,幀緩存容量則增加到原來的器的點距減少一倍,幀緩存容量則增加到原來的4倍,而掃描轉(zhuǎn)換同樣大小的圖元卻要花倍,而掃描轉(zhuǎn)換同樣大小的圖元卻要花4倍時間倍時間8(2)非加權(quán)區(qū)域采樣方法)非加權(quán)區(qū)域采樣方法n掃描轉(zhuǎn)換線段的兩點假設(shè)掃描轉(zhuǎn)換線段的兩點假設(shè)u像素是數(shù)學(xué)上抽象的點,它的面積為像素是數(shù)

4、學(xué)上抽象的點,它的面積為0,它的亮度由覆蓋,它的亮度由覆蓋該點的圖形的亮度所決定該點的圖形的亮度所決定u直線段是數(shù)學(xué)上抽象直線段,它的寬度為直線段是數(shù)學(xué)上抽象直線段,它的寬度為0n現(xiàn)實現(xiàn)實u像素的面積不為像素的面積不為0;u直線段的寬度至少為直線段的寬度至少為1個像素;個像素;n假設(shè)與現(xiàn)實的矛盾是導(dǎo)致走樣出現(xiàn)的原因之一假設(shè)與現(xiàn)實的矛盾是導(dǎo)致走樣出現(xiàn)的原因之一9n解決方法:改變直線段模型,線上像素灰度不等解決方法:改變直線段模型,線上像素灰度不等n方法步驟方法步驟1、將直線段看作具有一定寬度的狹長矩形;、將直線段看作具有一定寬度的狹長矩形;2、當直線段與某像素有交時,求出兩者相交區(qū)域的面積;、當

5、直線段與某像素有交時,求出兩者相交區(qū)域的面積;3、根據(jù)相交區(qū)域的面積,確定該像素的亮度值、根據(jù)相交區(qū)域的面積,確定該像素的亮度值10n方法性質(zhì)方法性質(zhì)u直線段對一個像素亮度的貢獻與兩者相交區(qū)域的面積成正直線段對一個像素亮度的貢獻與兩者相交區(qū)域的面積成正比比u當直線段和某個像素不相交時,它對該像素的亮度無影響當直線段和某個像素不相交時,它對該像素的亮度無影響u相同面積的相交區(qū)域?qū)ο袼氐牧炼蓉暙I相同,而與這個相相同面積的相交區(qū)域?qū)ο袼氐牧炼蓉暙I相同,而與這個相交區(qū)域落在像素內(nèi)的位置無關(guān)交區(qū)域落在像素內(nèi)的位置無關(guān)關(guān)鍵:如何計算相交面積?關(guān)鍵:如何計算相交面積?11n計算相交區(qū)域的面積計算相交區(qū)域的面

6、積(a)面積面積=D2/2k(b)面積面積=D k/2像素實際顯示的灰度值像素實際顯示的灰度值 = = 所得面積所得面積 * * 該像素的最大灰度值該像素的最大灰度值D/kDDk假設(shè)假設(shè)線段線段斜率斜率為為k像素實際大小像素實際大小12n求相交區(qū)域的近似面積的離散計算方法求相交區(qū)域的近似面積的離散計算方法u將屏幕像素分割成將屏幕像素分割成 n 個更小的子像素;個更小的子像素;u計算中心點落在直線段內(nèi)的子像素的個數(shù),記為計算中心點落在直線段內(nèi)的子像素的個數(shù),記為 m,um/n 為線段與像素相交區(qū)域面積的近似值為線段與像素相交區(qū)域面積的近似值n例例目的:簡化計算目的:簡化計算 n = 16, =

7、16, m = 3 = 3近似面積近似面積 = 3/16= 3/1613l存在的不足存在的不足n像素的顏色或灰度值與相交(覆蓋)區(qū)域的面積成正比,像素的顏色或灰度值與相交(覆蓋)區(qū)域的面積成正比,而與相交區(qū)域落在像素內(nèi)的位置無關(guān),仍會導(dǎo)致鋸齒效而與相交區(qū)域落在像素內(nèi)的位置無關(guān),仍會導(dǎo)致鋸齒效應(yīng)應(yīng)n沿理想直線方向的相鄰兩個像素的顏色或灰度值會有較沿理想直線方向的相鄰兩個像素的顏色或灰度值會有較大差異大差異14(3)加權(quán)區(qū)域采樣方法)加權(quán)區(qū)域采樣方法n權(quán)函數(shù)權(quán)函數(shù)w(x, y)u以像素以像素A的中心為原點建立二維坐標系的中心為原點建立二維坐標系 uw(x, y)反應(yīng)了微面積元反應(yīng)了微面積元dA對整

8、個像素亮度的貢獻大小對整個像素亮度的貢獻大小 ,與,與 dA 到像素中心距離到像素中心距離d 成反比。成反比。u高斯函數(shù)高斯函數(shù)dyxw1),(222222exp212exp21),(yxdyxw15u權(quán)性權(quán)性u位于位于(x, y)處的微面積元處的微面積元dA對像素的亮度的貢獻為對像素的亮度的貢獻為 w(x, y) dAn相交區(qū)域相交區(qū)域 對該像素的亮度貢獻對該像素的亮度貢獻 1),(AdAyxww x y dAA( , )A16n實現(xiàn)步驟實現(xiàn)步驟1求直線段與像素的相交區(qū)域求直線段與像素的相交區(qū)域2計算的值計算的值3上面所得到的值介于上面所得到的值介于0、1之間,之間,用它乘像素的最大灰度值,

9、用它乘像素的最大灰度值,即設(shè)該像素的顯示灰度。即設(shè)該像素的顯示灰度。n問題:計算量大問題:計算量大 n特例:特例: 時,時,1),( yxw的面積的面積AdAyxwA ),(加權(quán)區(qū)域加權(quán)區(qū)域采樣方法采樣方法退化為非退化為非加權(quán)區(qū)域加權(quán)區(qū)域采樣方法采樣方法Aw x y dAA( , )17n離散計算方法離散計算方法1將屏幕像素均勻分割成將屏幕像素均勻分割成m個子像素個子像素 ,則每個子像,則每個子像素的面積為素的面積為計算每個子像素對原像素亮度的貢獻,記為計算每個子像素對原像素亮度的貢獻,記為 將將 保存在一張加權(quán)表中保存在一張加權(quán)表中2求出所有中心落于直線段內(nèi)的子像素,記為求出所有中心落于直線

10、段內(nèi)的子像素,記為3計算所有這些子像素對原像素亮度貢獻之和計算所有這些子像素對原像素亮度貢獻之和 。 該值乘以像素的最大灰度值即為像素的顯示灰度值該值乘以像素的最大灰度值即為像素的顯示灰度值A(chǔ)iim1dAmAi1iAidAyxww),(wiim1的子集,為miAi,21,:wii18nw(x, y)是一個經(jīng)驗函數(shù),對應(yīng)的是一個經(jīng)驗函數(shù),對應(yīng)的 也是經(jīng)驗值也是經(jīng)驗值nw(x, y)可以用加權(quán)表可以用加權(quán)表M表示,取法有表示,取法有uM33uM55wwwwwwwww123456789116121242121wiim112421256524686425652214218812524232221201

11、9181716151413121110987654321wwwwwwwwwwwwwwwwwwwwwwwww19n例例wwwwwwwww123456789116121242121加權(quán)表加權(quán)表16/516/ )221 (iiw,100100AAA1 1個像素分解成個像素分解成33個子像素個子像素加權(quán)區(qū)域采樣:加權(quán)區(qū)域采樣:非加權(quán)區(qū)域采樣非加權(quán)區(qū)域采樣s = 3/920lOpenGL實例實例(a)走樣走樣(b)反走樣反走樣21OpenGL函數(shù)l函數(shù)函數(shù)n啟動反走樣:啟動反走樣:glEnable(),參數(shù)為,參數(shù)為GL_POINT、GL_LINE_SMOOTH或或GL_POLYGON_SMOOTHn質(zhì)

12、量控制:質(zhì)量控制:glHint(GLenum target, GLenum hint ), 參數(shù)參數(shù)target為:為:GL_POINT_SMOOTH_HINT、GL_LINE_SMOOTH_HINT、GL_POLYGON_SMOOTH_HINT 等等 參數(shù)參數(shù)hint為為GL_FASTEST、GL_NICEST、GL_DONT_CAREn啟動混合:啟動混合: glEnable(GL_BLEND)n選擇混合因子:選擇混合因子:glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);(還有其它選擇(還有其它選擇)22l程序例程序例void displ

13、ay (void) glClear(GL_COLOR_BUFFER_BIT); glColor3f(0,0,0); glLineWidth(7); glBegin(GL_LINES); glVertex2i(10,10); glVertex2i(150,70); glEnd(); glEnable (GL_LINE_SMOOTH); glHint (GL_LINE_SMOOTH_HINT, GL_NICEST); glEnable (GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glTranslatef(160,0

14、,0); glBegin(GL_LINES); glVertex2i(10,10); glVertex2i(150,70); glEnd(); glDisable (GL_LINE_SMOOTH); glDisable (GL_BLEND); glFlush();23字符l字符指數(shù)字、字母、漢字等符號。字符指數(shù)字、字母、漢字等符號。l計算機中字符由一個數(shù)字編碼唯一標識。計算機中字符由一個數(shù)字編碼唯一標識。l國際上最流行的字符集:國際上最流行的字符集:“美國信息交換用標準代美國信息交換用標準代碼集碼集”,簡稱,簡稱ASCIIASCII碼。它是用碼。它是用7 7位二進制數(shù)進行編位二進制數(shù)進行編碼表

15、示碼表示128128個字符;個字符;包括字母、標點、運算符以及包括字母、標點、運算符以及一些特殊符號。一些特殊符號。24l漢字編碼的國家標準字符集:漢字編碼的國家標準字符集:“中華人民共和國國中華人民共和國國家標準信息交換編碼家標準信息交換編碼”GB231280。該字符集共。該字符集共收集字符收集字符7445個,其中國標一級漢字個,其中國標一級漢字3755個,國標個,國標二級漢字二級漢字3008個,其余符號個,其余符號682個,每個字符由一個,每個字符由一個區(qū)碼和一個位碼共同標示。個區(qū)碼和一個位碼共同標示。l為了能夠區(qū)分為了能夠區(qū)分ASCII碼與漢字編碼,采用字節(jié)的最碼與漢字編碼,采用字節(jié)的最

16、高位來標識:最高位為高位來標識:最高位為0表示表示ASCII碼;最高位為碼;最高位為1表示表示漢字編碼。表示表示漢字編碼。25字庫l為了在顯示器等輸出設(shè)備上輸出字符,系統(tǒng)中必須為了在顯示器等輸出設(shè)備上輸出字符,系統(tǒng)中必須裝備有相應(yīng)的字庫裝備有相應(yīng)的字庫l字庫中存儲了每個字符的形狀信息字庫中存儲了每個字符的形狀信息l字庫分為矢量型和點陣型兩種,相應(yīng)存儲著矢量字字庫分為矢量型和點陣型兩種,相應(yīng)存儲著矢量字符和點陣字符符和點陣字符26點陣字符l字符利用掩膜來定義,并將其寫入幀緩沖器保存和字符利用掩膜來定義,并將其寫入幀緩沖器保存和顯示。字符掩膜是包含表示該字符的像素圖案的一顯示。字符掩膜是包含表示該

17、字符的像素圖案的一小塊光柵點陣。該點陣中的某位為小塊光柵點陣。該點陣中的某位為1表示字符的筆表示字符的筆畫經(jīng)過此位,對應(yīng)于此位的象素應(yīng)置為字符顏色。畫經(jīng)過此位,對應(yīng)于此位的象素應(yīng)置為字符顏色。某位為某位為0表示字符的筆畫不經(jīng)過此位,對應(yīng)于此位表示字符的筆畫不經(jīng)過此位,對應(yīng)于此位的象素應(yīng)置為背景顏色。的象素應(yīng)置為背景顏色。1111110001010101010101010111110001010101010101011111110000000000字符B的像素顯示字符B的掩膜27l在實際應(yīng)用中,有多種字體(如宋體、楷體等),在實際應(yīng)用中,有多種字體(如宋體、楷體等),每種字體又有多種大小型號,因

18、此字庫的存儲空間每種字體又有多種大小型號,因此字庫的存儲空間是很龐大的。解決這個問題一般采用壓縮技術(shù)是很龐大的。解決這個問題一般采用壓縮技術(shù)l點陣字符的顯示分為兩步點陣字符的顯示分為兩步n首先從字庫中將它的位圖檢索出來首先從字庫中將它的位圖檢索出來n然后將檢索到的位圖寫到幀緩沖器中然后將檢索到的位圖寫到幀緩沖器中l(wèi)當字符寫入幀緩沖器后,還可以對字符掩膜進行修當字符寫入幀緩沖器后,還可以對字符掩膜進行修改,以獲得不同字體或方向改,以獲得不同字體或方向28矢量字符矢量字符l記錄字符的筆畫信息記錄字符的筆畫信息,而不是整個位圖,具有存儲,而不是整個位圖,具有存儲空間小,美觀、變換方便等優(yōu)點空間小,美觀、變換方便等優(yōu)點l對于字符的旋轉(zhuǎn)、縮放等變換對于字符的旋轉(zhuǎn)、縮放等變換n點陣字符的變換需要對表示字符位圖中的每一象素進行點陣字符的變換需要對表示字符位圖中的每一象素進行n矢量字符的變換只要對其筆畫端點進行變換就可以矢量字符的變換只要對其筆畫端點進行變換就可以字符B的像素顯示字符B的矢量輪

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論