下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、彩色圖象二維變形 摘 要 該文討論了彩色圖像的變形扭曲技術(shù),并針對二維變形給出了一個速度、精度均令人滿意的算法。 一、引言在圖像處理的應(yīng)用中,一般圖像所覆蓋區(qū)域邊界是規(guī)則的矩形。為獲得某種特殊效果,常常需要將圖像變換到具有任意不規(guī)則邊界的二維區(qū)域或映像到三維空間曲面,簡單地說,這就是所謂的圖像變形技術(shù)。本文重點討論了其中的任意二維多邊形區(qū)域的變形問題,并針對彩色圖像給出一個切實可行的算法。而三維情況下,則屬于計算機圖形學(xué)中的紋理貼面范圍,一般均會牽涉到立體圖形消隱、明暗處理等技術(shù),比較復(fù)雜,本文未作深入探討。二、變換原理本文所要討論的二維變形問題可
2、以形式化說明如下:圖像定義在矩形區(qū)域ABCD之上,源多邊形區(qū)域P=p1p2pnp1(Pi為頂點,i=1,2,n)完全包含在ABCD內(nèi);變形就是通過變換f,將P上的圖像變換到目的多邊形區(qū)域Q=Q1Q2QnQ1(Qi為頂點,i=1,2,n),其中,P與Q中的各頂點一一對應(yīng),即有:Qi=f(Pi)(i=1,2n)。圖1是變形的一個簡單例子:圖中的源多邊形區(qū)域是矩形區(qū)域ABCD,目的多邊形為任意四邊形EFGH,陰影部分在變換前后的變化清楚地說明了變形的效果。T5S13200.GIF;圖1那么,變換應(yīng)該如何進(jìn)行呢?一種直接的思路是顯式地求出變換f的表達(dá)式。而f的實施又分兩種方法;其一為正向變換法,即用f
3、將P內(nèi)的任一像素點變換到Q內(nèi),取原像素值加以顯示。由于P與Q所包含像素點的數(shù)目一般不相同,甚至相差很大,造成Q中的像素點或者未被賦值,形成令人討厭的空洞,或者被多次賦值,浪費了時間,總的效果不理想;其二利用f的反變換f-1,將Q內(nèi)的每一像素點反變換至P內(nèi)的對應(yīng)點,一般此點具有實數(shù)坐標(biāo),則可以通過插值,確定其像素值,這樣,結(jié)果圖像中的每一像素點均被賦值唯一的一次,既提高了精度,又可以避免不必要的賦值,使用效果較好。上述顯示求變換(或反變換)的表達(dá)式的思路,比較精確,但是這往往牽涉到復(fù)雜的多元方程求解問題,并非輕易可以完成。本文所給出的另外一條思路是:既然P與Q中各頂點一一對應(yīng),組成變換對,即源多
4、邊形P中的任一頂點Pi(i=1,2n)經(jīng)過變換f,得到目的多邊形Q中的頂點Qi(i=1,2n),則Qi的反變換點也必為Pi。這樣,對Q內(nèi)(包括邊界)的各像素點A,可以利用各頂點的反變換點的坐標(biāo)值通過雙線性插值技術(shù)近似求出其反變換點B;再用點B的坐標(biāo)值在源圖像中進(jìn)行插值,最終求得結(jié)果像素值,用于顯示A。第二種方法在保留一定精度的前提下,避免了變換表達(dá)式的顯式求解,實現(xiàn)簡便。本文基于此思想,設(shè)計了一個快速變形算法;另外,算法中還借鑒了多邊形區(qū)域掃描轉(zhuǎn)換的掃描線算法的思路,以實現(xiàn)對Q內(nèi)各像素點的高效掃描。以下,本文首先介紹了插值技術(shù)及增量計算技術(shù),然后將給出二維變形算法的詳細(xì)步驟。三、插值技術(shù)已知目
5、的多邊形Q各頂點Qi(i=1,2n)的變換坐標(biāo)值,如何求出Q內(nèi)任一像素的反變換坐標(biāo)呢?雙線性插值法是一種簡單快速的近似方法。具體做法是:先用多邊形頂點Qi(i=1,2n)的反變換坐標(biāo)線性插值出當(dāng)前掃描線與多邊形各邊的交點的反變換坐標(biāo),然后再用交點的反變換坐標(biāo)線性插值出掃描線位于多邊形內(nèi)的區(qū)段上每一像素處的反變換坐標(biāo)值用于以后的計算。逐條掃描線處理完畢后,Q內(nèi)每一像素點的反變換坐標(biāo)值也就均求出來了。如圖2中所示,掃描線Y(縱坐標(biāo)=Y)與多邊形相交于點A和B兩點,D則是位于掃描線上位于多邊形內(nèi)的區(qū)段AB上的任一點。已知多邊形的3個頂點Qi(i=1,2,3)的反變換坐標(biāo)為(RXi,RYi);又令A(yù)、
6、B及D各點的反變換坐標(biāo)分別是(RXa,RYa),(RXb,RYb)和(RXd,RYd)。則RXp可按以下公式求出:RXa=uRX1+(1-u)RX2 式1RXb=vRX1+(1-v)RX3式2RXd=tRXa+(1-t)RXb 式3其中,u=|AQ2|/|Q1Q2|,v=|BQ3|/|Q1Q3|,t=|DB|/|AB|,稱為插值參數(shù)。RYd的值亦可完全類似地求出,甚至不必改變插值參數(shù)的計算。(Rxd,Ryd)即是D點在原圖像中對應(yīng)點的坐標(biāo)近似值。T5S13201.GIF;圖2上述的雙線性插值過程可以通過增量計算方法提高速度。其中,在水平方向上,位于多邊形內(nèi)的各區(qū)段上的各像素的反變換坐標(biāo)可以沿掃
7、描線從左至右遞增計算。仍以反變換的X坐標(biāo)為例。如圖2所示,在掃描線Y上,C與D是相鄰兩像素點,對C點,插值參數(shù)tc=|CB|/|AB|,對D點,td=|DB|/|AB|,則插值參數(shù)之差t=|CD|/|AB|,由于C與D相鄰,且在同一掃描線上,|CD|=1,即t=1/|AB|,在AB區(qū)段上為常數(shù)。根據(jù)式1式3,不難推得D點的反變換X坐標(biāo)Rxd與C點的反變換X坐標(biāo)Rxc之間的關(guān)系如下:Rxd=Rxc+(Rxa-Rxb)·t=Rxc+Rxx由于Rxx在AB區(qū)段仍為常數(shù),故AB區(qū)段上各像素點的反變換X坐標(biāo)均可由A點的Rxa依次遞增求得,而反變換Y坐標(biāo)的遞增求法亦是相同。這樣,AB區(qū)段上各像素
8、點的反變換坐標(biāo)值的計算簡化為兩次加法,時間的節(jié)省是驚人的。事實上,在垂直方向,每條邊也可在相鄰掃描線間遞增計算其與掃描線交點的反變換坐標(biāo)。如圖2中的Q1Q2邊,其與相鄰的兩條掃描線Y與Y-1分別交于A點和E點。則兩點的插值參數(shù)之差u=|AE|/|Q1Q2|,而Q1Q2邊與掃描線交角固定為,且A和E兩點的Y坐標(biāo)之差為1,則有:|AE|=1/Sin,對于Q1Q2邊而言是常量,因此u對此邊也是常量,于是推得兩點反變換X坐標(biāo)關(guān)系如下:Rxa=Rxe+(Rx1-Rx2)u=Rxe+Rxy顯然,Rxy沿Q1Q2邊亦是常數(shù),故而可知,相鄰掃描線與各邊交點的反變換坐標(biāo)也只要兩次浮點加法的計算量。這樣,區(qū)域內(nèi)每
9、一像素點的反變換均可通過增量計算高效地完成,這大大提高了整個變形算法的速度。另外,前面提到,經(jīng)過反變換后的點一般具有實數(shù)坐標(biāo),無法直接在原圖像中獲得顏色值。但我們知道,一幅所謂數(shù)字圖像,其實質(zhì)是對連續(xù)圖像在整數(shù)坐標(biāo)網(wǎng)格點上的離散采樣,因而可以用插值的方法,得到區(qū)域內(nèi)具有任意坐標(biāo)的點的顏色值。插值即是對任意坐標(biāo)點的顏色值,用其周圍的若干像素(具有整值坐標(biāo)值,顏色值確定)的顏色值按一定插值公式近似計算。一般有最近鄰點法、雙線性插值法及3次樣條函數(shù)法等插值方法,出于精度與速度的折衷要求,選用雙線性插值方 法對絕大多數(shù)的應(yīng)用場合是適宜的。需特別指出的是,應(yīng)該對顏色的3原色分量分別進(jìn)行插值,而不要直接使
10、用讀像素點得到的顏色索引號。詳細(xì)討論見文獻(xiàn)1。四、算法細(xì)節(jié)下面將要給出的彩色圖像的二維變形算法以多邊形區(qū)域掃描轉(zhuǎn)化的掃描線算法為框架,且使用相仿的數(shù)據(jù)結(jié)構(gòu),對目的多邊形區(qū)域高效地進(jìn)行逐點掃描,同時實現(xiàn)前面討論的各種技術(shù)。首先給出的是用C語言描述的數(shù)據(jù)結(jié)構(gòu):struct Edge float x; /*在邊的分類表ET中表 示邊的下端點的x坐標(biāo);在邊的活化鏈表AEL中則表示邊與掃描線的交點的x坐標(biāo);*/float dx; /*邊的斜率的倒數(shù);即沿掃描線間方向X的增量值*/int Ymax; /*邊的上端點的y坐標(biāo)*/float Rx; /*在ET中表示邊的下端點*/float Ry; /*的反變
11、換坐標(biāo);在AEL中則表示邊與掃描線交點的反變換坐標(biāo)*/表float dRx; /*沿掃描線間方向,反變*/float dRy; /*換坐標(biāo)(Rx,Ry)的增量值*/struct Edge *next;/*指向下一條邊的指針*/; /*多邊形的邊的信息*/struct Edge *ETYResolution;/*邊的分類表,按邊的下端點的縱坐標(biāo)Y對非水平邊進(jìn)行分類的指針數(shù)組。下端點的Y值等于i的邊歸入第i類,同一類中,各邊按X值及X的值遞增順序排列;YResolution為掃描線數(shù)目*/struct Edye *AEL;表 /*邊的活化鏈表,由與當(dāng)前掃描線相交的所有多邊形的邊組成,記錄了多邊形邊
12、沿當(dāng)前掃描線的交點序列。*/struct Polygon int npts; /*多邊形頂點數(shù)*/struct Point *Pts;/*多邊形的頂點序列*/; /*多邊形信息*/struct Point int X;int Y; /*頂點坐標(biāo)*/float Rx;float Ry; /*頂點的反變換坐標(biāo)*/; /*多邊形各頂點的信息*/注意以上注釋中邊的下端點指縱坐標(biāo)值較小的一端,另一端即為上端點。以下則為算法的詳細(xì)步驟:1.數(shù)據(jù)準(zhǔn)備對于每一條非水平邊QiQi+1,設(shè)Qi與Qi+1的坐標(biāo)分別為(Xi,Yi)及(Xi+1,Yi+1);其反變換坐標(biāo)為(Rxi,Ryi)及(RXi+1,RYi+1)
13、。則按以下各式對此邊的信息結(jié)構(gòu)各域進(jìn)行填寫:X=Xi,YiYi+1Xi+1,YiYi+1RX=RXi,YiYi+1RXi+1,YiYi+1RY=RYi,YiYi+1RYi+1,YiYi+1dx=(xi-xi+1)/(yi-yi+1)Ymax=max(yi,yi+1)dRx=(Rxi-Rxi+1)/(yi-yi+1)dRy=(Ryi-Ryi+1)/(yi-yi+1)然后將其插入鏈表ETmin(yi,yi+1)中。活化邊表AEL置空。當(dāng)前掃描線縱坐標(biāo)y取為0,即最小序號。2.掃描轉(zhuǎn)換反復(fù)作以下各步,直到y(tǒng)等于YResolution(1)若ETy非空,則將其內(nèi)所有邊插入AEL。(2)若AEL非空,則
14、將其按X及dx的值從小到大排列各邊,接(3);否則轉(zhuǎn)(3)將AEL內(nèi)各邊按排列順序兩兩依次配對。則沿當(dāng)前掃描線Y組成若干水平區(qū)間xLeft,xRight,其左右端點的反變換坐標(biāo)分別為:(lRx,lRy),(rRx,rRy)。則對于每一個這樣的區(qū)間作以下各步:dRxx=(lRx-rRx)/(xleft-xRight)dRyx=(lRy-rRy)/(xleft-xRight)又設(shè)原圖像已讀入二維數(shù)組Image之中。令XX=xleft, Rxy=lRx, Ryx=lRy則對于每個滿足xLeftxXxRight的坐標(biāo)為(xx,y)的像素,其反變換坐標(biāo)(Rxy,Ryx)可按下式增量計算:Rxx=Rxx+dRxxRyx=Ryx+dRyy用(Rxx,Ryx)在數(shù)組Image之中插值,(參見文獻(xiàn)1),按所得顏色值顯示該像素。然后邊x=x+1,計算下一像素。(4)將AEL中滿足y=Ymax的邊刪去,然后按下式調(diào)整AEL中各邊的信息。X=X+dxRx=Ry+dRxRy=Ry+dRy(5)y=y+1,重復(fù)下一點。五、討論上述算法針對彩色圖像的二維變形問題,給出了一個簡單快速的實現(xiàn)方案。至于三維變形,由于一般會牽涉到隱藏面消除等問題,比較復(fù)雜。但在一些情況下,可以避開消隱問題,如目的曲面形狀比較簡單,投影到
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 綠色低碳分布式光儲充一體化綜合利用項目可行性研究報告寫作模板-申批備案
- 2025-2030全球草酸镥水合物行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國游戲插畫行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球單通道凝血分析儀行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球EPROM 存儲器行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國3,4,5-三甲氧基甲苯行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國代謝物定制合成服務(wù)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球低扭矩滾子軸承行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國汽車差速器錐齒輪行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球高壓電動車軸行業(yè)調(diào)研及趨勢分析報告
- 2024-2025學(xué)年上外版高二上學(xué)期期中英語試卷與參考答案
- DB52T 1167-2017 含笑屬栽培技術(shù)規(guī)程 樂昌含笑
- 2025年全國高考體育單招考試政治模擬試卷試題(含答案詳解)
- 駕駛證學(xué)法減分(學(xué)法免分)試題和答案(50題完整版)1650
- 人教版2024新版七年級上冊數(shù)學(xué)第六章幾何圖形初步學(xué)業(yè)質(zhì)量測試卷(含答案)
- 小學(xué)數(shù)學(xué)五年級上冊奧數(shù)應(yīng)用題100道(含答案)
- 工業(yè)機器人編程語言:Epson RC+ 基本指令集教程
- 2023.05.06-廣東省建筑施工安全生產(chǎn)隱患識別圖集(高處作業(yè)吊籃工程部分)
- 2023年漢中市人民政府國有資產(chǎn)監(jiān)督管理委員會公務(wù)員考試《行政職業(yè)能力測驗》歷年真題及詳解
- JTG 3362-2018公路鋼筋混凝土及預(yù)應(yīng)力混凝土橋涵設(shè)計規(guī)范
- 八年級下冊歷史思維導(dǎo)圖
評論
0/150
提交評論