第七章幾何操作_第1頁(yè)
第七章幾何操作_第2頁(yè)
第七章幾何操作_第3頁(yè)
第七章幾何操作_第4頁(yè)
第七章幾何操作_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第七章幾何操作 幾何操作是通過一種約束的方式重新排列像素而改變一幅圖像的幾何布局換句話說不是去改變像素值而是要改變圖像中感興趣的目標(biāo)或代表特征的像素組之間的相對(duì)位置關(guān)系。 幾何操作可以用來達(dá)到不同的目的 大多數(shù)幾何操作包括兩個(gè)組件 (1)映射函數(shù):用一組空間變換方程來指定。 (2)插值方法:用來計(jì)算在空間變換后的圖像中各個(gè)像素的新值。7.2 映射和仿射變換 一個(gè)幾何操作從數(shù)學(xué)上可描述為通過調(diào)整圖像像素坐標(biāo)將一幅輸入圖像f(x,y)變換為一幅新圖像g(x, y)的過程: f(x,y)g(x,y) 映射函數(shù) (x,y)=T(x,y) 轉(zhuǎn)化為兩個(gè)分離的函數(shù) x=Tx(x,y) y=Ty(x,y) 其

2、中Tx,Ty常表示成x和y的多項(xiàng)式。當(dāng)Tx和Ty是x和y的線性組合時(shí)可稱這種情況為仿射仿射變換變換(或仿射映射):(或仿射映射): 仿射映射可以將直線變換成直線,三角形變換成三角形,矩形變換成平行四邊形。012yb xb yb012 xa xa ya表7.1對(duì)所選仿射變換系數(shù)的匯總變換a0a1a2b0b1b2用x, y平移10 x01y用sx,sy放縮sx000sy0用角度逆時(shí)針旋轉(zhuǎn)cos -sin 0sin cos 0用shx,shy剪切1shy0shx10 例 利用仿射變換將一個(gè)三角形映射為另一個(gè)三角形(x0,y0)( x2,y2 )(x1,y1)(x2,y2)(x0,y0)(x1,y1)

3、輸入輸出 在在MATLAB中中 IPT有兩個(gè)與仿射變換關(guān)聯(lián)的函數(shù):maketform和imtransform。 函數(shù)maketform:用來定義希望的2D空間變換,支持投影變換和自定義的變換。 函數(shù)imtransform :在定義了需要的變換后,可以使用函數(shù)imtransform將其用于輸入圖像。例7.1對(duì)下面的各個(gè)操作構(gòu)建仿射變換矩陣:(a)旋轉(zhuǎn)30;(b)在兩個(gè)方向上都用因子3.5進(jìn)行放縮;(c)用25,15個(gè)像素進(jìn)行平移;(d)用因子2,3剪切。 解:將上述值代入表7.1,得到如下結(jié)果 (a)因?yàn)閏os30=0.866,sin30=0.500: (a) 0.866 -0.5 0 0,5

4、0.866 00 0 1(b)3.5 0 0 0 3.5 00 0 1 (c)1 0 00 1 025 15 1(d)1 3 02 1 00 0 1 filename = psb(3).jpg I = imread(filename); Ta = maketform(affine,cosd(30) -sind(30) 0; sind(30) cosd(30) 0; 0 0 1); Ia = imtransform(I, Ta); Tb = maketform(affine,3.5 0 0;0 3.5 0;0 0 1); Ib = imtransform(I, Tb); xform=1 0 0;

5、0 1 0;25 15 1; Tc = maketform(affine,xform); Ic = imtransform(I, Tc, XData, 1 (size(I,2) + xform(3,1),XData, 1 (size(I,1) + xform(3,2),FillValue,128); Td = maketform (affine,1 3 0;2 1 0;0 0 1); Id = imtransform(I,Td); subplot(2,6,1),imshow(I); subplot(2,6,2),imshow(Ia); subplot(2,6,3),imshow(Ib); su

6、bplot(2,6,4),imshow(Ic); subplot(2,6,5),imshow(Id); affine:仿射變換,包括平移、旋轉(zhuǎn)、比例和錯(cuò)切。變換后,直線仍是直線,平行線保持平行,但矩形有可能變?yōu)槠叫兴倪呅巍T紙D像旋轉(zhuǎn)后圖像放縮后像平移后的像剪切后的圖像7.3 插值方法 7.3.1 對(duì)差值的需求 對(duì)原始圖像幾何操作后各個(gè)像素的結(jié)果值有兩種算法向前映射和向后映射。 向前映射:源到目標(biāo)映射。它包括計(jì)算輸入圖像所有像素的新坐標(biāo)并將其值復(fù)制到新的位置。 缺點(diǎn):很多由變換式算的坐標(biāo)不是整數(shù); 很多坐標(biāo)可能落在界外; 很多輸出像素的坐標(biāo)在計(jì)算中賦值了很多 次而有些根本沒有賦值過。 T源圖像

7、F目標(biāo)圖像Fyxyx圖7.3 向前映射 向后映射:訪問輸出圖像中的每個(gè)像素并使用逆變換確定輸入圖像中需要采樣像素值的坐標(biāo)。輸出像素一次一個(gè)地映射回到原始(輸入)圖像中,以便確定其灰度級(jí)。 缺點(diǎn):常產(chǎn)生在原始圖像采樣網(wǎng)格點(diǎn)之外的結(jié)果,還需要某種形式的插值以計(jì)算一個(gè)像素的最佳值。向后映射方法也成為目標(biāo)到源的映射源圖像F目標(biāo)圖像FyxyxT 圖7.4 向后映射 7.3.2 簡(jiǎn)單的插值方法 缺陷 (1)當(dāng)放大一幅圖像時(shí)”塊”效應(yīng)可能變得比較明顯;如圖7.5如果放大倍數(shù)太大, 按照最近鄰插值處理會(huì)出現(xiàn)馬賽克效應(yīng)。 放大5倍圖 7.5(2) 在收縮過程中有可能刪除了本質(zhì)的信息;(3)很難講這些方法推廣到任

8、意的、非整數(shù)的放縮因子。 其他簡(jiǎn)單插值方法如使用輸入圖像中原始nn塊的均值來確定收縮圖像中各個(gè)輸出像素的值,也會(huì)產(chǎn)生低質(zhì)量的結(jié)果甚至在一些情況下失效。 7.3.3 (1 )零階插值(最近鄰插值) 原理:它將計(jì)算的坐標(biāo)(x,y)舍入到它們最近的整數(shù)。取待采樣點(diǎn)周圍四個(gè)相鄰像索點(diǎn)中距離最近的一個(gè)鄰點(diǎn)的灰度值作為該點(diǎn)的灰度值。就是最臨近點(diǎn)重復(fù) (2)線形插值 線形插值是使用原圖中兩個(gè)值來構(gòu)造所求坐標(biāo)處的值。 例如:如圖所示,如果已經(jīng)知道了兩點(diǎn)x0,x2處的函數(shù)值f(x0),f(x2),現(xiàn)在要求x1處的函數(shù)值f(x1)。我們假設(shè)函數(shù)是線性的,利用幾何知識(shí)可以知道:20110020()()()()()f

9、 xf xf xxxf xxx 在圖象處理中需要將線形插值擴(kuò)展到二維的情況,即采用雙線形插值(Bilinear Intrepolation)7.3.4 一階(雙線性)插值 原理: 一階插值用輸入圖像中圍繞參考像素的四個(gè)像素灰度值的加權(quán)函數(shù)來計(jì)算差值像素(在坐標(biāo)(x,y)處)的灰度值。 例如:已知四點(diǎn) f(x0,y0),f(x0,y2) ,f(x2,y0),f(x2,y2) 的灰度,要求g(x1,y1)點(diǎn)的灰度, 可以先在水平方向上由f(x0,y0),f(x2,y2)線形插值求出g(x0,y1),f(x2,y0),f(x2,y2)線形插值求出g(x2,y1),然后在垂直方向上由g(x0,y1)

10、,g(x2,y1)線形插值求出g(x1,y1)020001100020( ,)( ,)( , )()( ,)f x yf x yg x yyyf x yyy222021102020( ,)( ,)( , )()( ,)f x yf x yg x yyyf x yyy212111100120( , )( , )( , )()( , )f x yf x yg x yxxf x yxx雙線性插值可以通過三次運(yùn)算的到。處理效果比較滿意。這種處理具有低通濾波性質(zhì),使高頻分量受到損失,圖像輪廓模糊。7.3.5 高階插值 原理:它考慮圍繞參考像素的44鄰域并通過將該鄰域與一個(gè)立方函數(shù)卷積來計(jì)算差值像素的灰度

11、值。7.4 使用MATLAB進(jìn)行幾何操作 7.4.1 放大縮小和調(diào)整大小 調(diào)整大小:結(jié)果圖像尺寸改變了,非交互進(jìn)行。 放大、縮?。航换ミM(jìn)行,圖像結(jié)果存在很短時(shí)間。 用來調(diào)整大小的函數(shù):imresize。函數(shù)imresize允許用戶指定所用插值方法。 7.4.2 平移 對(duì)一幅圖像f(x,y)相對(duì)于他的坐標(biāo)原點(diǎn)平移產(chǎn)生輸出圖像g(x,y)。 其中每個(gè)像素都平移了x, y .平移實(shí)例 7.4.3 旋轉(zhuǎn) 對(duì)一幅圖像的旋轉(zhuǎn)是另一種仿射變換的特殊情況。 平移和旋轉(zhuǎn)都可以利用maketform和imtransform來實(shí)現(xiàn)。 IPT還有專門用來旋轉(zhuǎn)的函數(shù):imrotate。 以原點(diǎn)為中心的旋轉(zhuǎn)原圖像 7.4

12、.4 裁剪 裁剪圖像的函數(shù):imcrop。裁剪矩形可以使用鼠標(biāo)交互指定,也可以用坐標(biāo)作為參數(shù)傳遞給函數(shù)。以圖像中心為中心的旋轉(zhuǎn)原圖像新圖像 實(shí)例:用imcrop裁剪一幅圖像 I = imread(F:photoslena.jpg); J = imcrop(I,60 40 100 90); imshow(J); 運(yùn)行結(jié)果如下:結(jié)果圖像原圖像 7.4.5 翻轉(zhuǎn) 翻轉(zhuǎn)函數(shù): flipud,fliplr。 7.5 其它幾何操作和應(yīng)用 7.5.1 扭曲 定義:通過對(duì)2-D平面從新參數(shù)化來變換一幅圖像。也稱橡膠片變換。 二階扭曲是多項(xiàng)式扭曲的一個(gè)特例對(duì)一個(gè)像素的原始坐標(biāo)(x,y),它的變換坐標(biāo)(x,y)為

13、:系數(shù)用來將更復(fù)雜的失真引入。 特殊應(yīng)用:補(bǔ)償鏡頭失真。 二階或更高的扭曲操作常由在源圖像中的控制點(diǎn)來指定,并將它們映射到目標(biāo)圖像的相應(yīng)位置??刂泣c(diǎn)常與圖像中關(guān)鍵位置和特征相關(guān)聯(lián)。 分段扭曲:是多項(xiàng)式扭曲的一種替代。它允許借助覆蓋在輸入圖像上的控制網(wǎng)格來制定希望的扭曲。22345120yxyb xbbybyxbb22345012yxxya xaaya xaa原圖扭曲效果1扭曲效果2 7.5.2 非線性圖像變換 非線性圖像變換常包括一個(gè)從矩形坐標(biāo)到極坐標(biāo)的轉(zhuǎn)換,后接一個(gè)對(duì)結(jié)果點(diǎn)集的有意變形。 捻轉(zhuǎn):捻轉(zhuǎn)變換導(dǎo)致一幅圖像圍繞一個(gè)坐標(biāo)(xc,yc)的定位點(diǎn)旋轉(zhuǎn)一個(gè)隨空間變化的角度:這個(gè)角度在定位點(diǎn)的

14、值是,然后隨著與中心徑向距離的增加而線性減少。這種效果局限于最大半徑為rmax的區(qū)域。 逆映射函數(shù)的方程: Tx x= Ty y=yc+rsin( ) rrmaxy rrmax xc+rcos() rrmaxx rrmaxdx=x-xc, rdx+dy,dy=y-yc, +arctan(dx,dy)+(rmax-r)/rmax). 紋波:紋波變換導(dǎo)致一幅圖像沿x和y 方向產(chǎn)生一個(gè)局部波紋狀的移動(dòng)。這個(gè)映射的參數(shù)是周期長(zhǎng)度Lx,Ly以及相關(guān)聯(lián)的振幅值A(chǔ)x,Ay,逆變換函數(shù)為: Tx:x=x+Axsin(2y/Lx) Ty :y=y+Aysin(2x/Ly) 7.5.3 變形 變形可以看作一個(gè)修改

15、過的分段彎曲版本,用戶在初始圖像和最終圖像中指定控制點(diǎn),這些控制點(diǎn)用來生成網(wǎng)格,每幅圖像一個(gè),仿射變換將結(jié)果網(wǎng)格結(jié)合起來。變形的另一個(gè)方面是漸進(jìn)的計(jì)算彎曲,一次一個(gè)小步驟,并在從初始圖像到結(jié)果圖像中間與一個(gè)疊化效果相結(jié)合。 7.5.4 接縫焊接 算法基本思路是在原始圖像中尋找接縫并使用該信息: (1):通過消去對(duì)圖像內(nèi)容貢獻(xiàn)最少的接縫減少圖像尺寸; (2):通過插入更多的接縫來擴(kuò)大圖像。 7.5.5圖像配準(zhǔn) 對(duì)同一場(chǎng)景兩幅或多幅圖像對(duì)齊的過程。 首先,輸入圖像都與一幅參考圖像比較 下一步,對(duì)輸入圖像使用一個(gè)空間變換以將它與基圖像對(duì)齊。 教程(1)使用imresize來收縮圖像I = imrea

16、d(F:photospip.png)subplot(2,2,1),imshow(I);I_sm2 = imresize(I, 0.5, nearest);I_sm3 = imresize(I, 0.5, bilinear);I_sm4 = imresize(I, 0.5, bicubic);figure,subplot(2,2,2),imshow(I_sm2);figure,subplot(2,2,3),imshow(I_sm3);figure,subplot(2,2,4),imshow(I_sm4);原始圖像最近鄰插值圖像雙線性插值圖像雙立方插值圖像雙立方插值最近鄰插值 教程(2)使用flipud,fliplr翻轉(zhuǎn) I = imread(F:photoslena.jpg); J = flipud(I);

溫馨提示

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

評(píng)論

0/150

提交評(píng)論