圖像幾何變換講解_第1頁
圖像幾何變換講解_第2頁
圖像幾何變換講解_第3頁
圖像幾何變換講解_第4頁
圖像幾何變換講解_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章圖像的幾何變換待測印鑒標(biāo)準(zhǔn)印鑒與原圖比較,有位置,角度偏差三維的平移點擊圖片播放視頻近朱者赤圖像的幾何變換圖像的幾何變換包括了圖像的形狀變換和圖像的位置變換。圖像的形狀變換是指圖像的放大、縮小與錯切。圖像的位置變換是指圖像的平移、鏡像與旋轉(zhuǎn)。圖像的仿射變換描述。圖像的變形及幾何畸變校正圖像的幾何變換不改變像素的值,只改變像素的位置。圖像的形狀變換圖像的形狀變換通常在目標(biāo)物識別中使用。圖像的形狀變換主要是指圖像的縮小、放大與錯切。圖像的形狀變換應(yīng)用

——目標(biāo)物識別如圖所示,要判別圖中的某個果子是蘋果還是李子,要將該圖像進(jìn)行放大或者是縮小,才能夠進(jìn)行正確的比較與識別。圖像的比例縮放圖像的比例縮放是指將給定的圖像在x軸方向按比例縮放a倍,在y軸方向按比例縮放b倍,從而獲得一幅新的圖像。如果a=b,稱這樣的比例縮放為圖像的全比例縮放。如果a不等于b,圖像的比例縮放會改變原始圖像的像素間的相對位置,產(chǎn)生幾何畸變。變換原理g(X,Y)=f(x,y)g(ax,by)=f(x,y)

具體實現(xiàn)fori=1:rowforj=1:colm=ceil(zi*i);n=ceil(zj*j);

B(m,n)=A(i,j);endend}

row:圖像寬度,高度,行數(shù)

col:圖像長度,列數(shù)效果圖示例幾何變換方法1)向前映射法通過輸入圖像像素位置,計算輸出圖像對應(yīng)像素位置;將該位置像素的灰度值按某種方式分配到輸出圖像相鄰四個像素.存在問題pqrpr2向后映射法2)向后映射法通過輸出圖像像素位置,計算輸入圖像對應(yīng)像素位置;根據(jù)輸入圖像相鄰四個像素的灰度值計算該位置像素的灰度值.兩種映射方法的對比對于向前映射:每個輸出圖像的灰度要經(jīng)過多次運算;對于向后映射:每個輸出圖像的灰度只要經(jīng)過一次運算。實際應(yīng)用中,更經(jīng)常采用向后映射法。下面看縮小和放大的具體應(yīng)用圖像的縮小分為按比例縮小和不按比例縮小兩種。圖像縮小之后,因為承載的信息量小了,所以畫布可相應(yīng)縮小。(a)按比例縮小(b)不按比例縮小圖像縮小

——實現(xiàn)思路圖像縮小實際上就是對原有的多個數(shù)據(jù)進(jìn)行挑選或處理,獲得期望縮小尺寸的數(shù)據(jù),并且盡量保持原有的特征不丟失。最簡單的方法就是等間隔地選取數(shù)據(jù)。圖像縮小

——實現(xiàn)方法設(shè)原圖像大小為M*N,縮小為k1M*k2N,(k1<1,k2<1)。算法步驟如下:

1)設(shè)原圖為F(i,j),i=1,2,…,M,j=1,2,…,N.

壓縮后圖像是G(x,y),x=1,2,…,k1M,y=1,2,…,k2N.2)G(x,y)=F(c1*x,c2*y)

其中,c1=1/k1c2=1/k2圖像縮小

——例題K1=0.6,k2=0.7579101112131516171825272829303133343536i=[1,6],j=[1,6].x=[1,6*0.6]=[1,4],y=[1,6*0.75]=[1,5].x=[1/0.6,2/0.6,3/0.6,4/0.6]=[1.67,3.33,5,6.67]=[i2,i3,i5,i6],y=[1/0.75,2/0.75,3/0.75,4/0.75,5/0.75]=[j1,j3,j4,j5,j6].123456789101112131415161718192021222324252627282930313233343536Y圖像放大圖像放大從字面上看,是圖像縮小的逆操作,但是,從信息處理的角度來看,則難易程度完全不一樣。圖像縮小是從多個信息中選出所需要的信息,而圖像放大則是需要對多出的空位填入適當(dāng)?shù)闹?,是信息的估計。圖像放大

——實現(xiàn)思路最簡單的思想是,如果需要將原圖像放大為k倍,則將原圖像中的每個像素值,填在新圖像中對應(yīng)的k*k大小的子塊中。放大5倍顯然,當(dāng)k為整數(shù)時,可以采用這種簡單的方法。圖像放大

——實現(xiàn)方法設(shè)原圖像大小為M*N,放大為k1M*k2N,

(k1>1,k2>1)。算法步驟如下:1)設(shè)舊圖像是F(i,j),i=1,2,…,M,j=1,2,…,N.

新圖像是G(x,y),x=1,2,…,k1M,y=1,2,…,k2N.2)G(x,y)=F(c1*i,c2*j)

c1=1/k1c2=1/k2K1=1.2,k2=1.1123345664566i=[1,2],j=[1,3].x=[1,3],y=[1,4].x=[1/1.2,2/1.2,3/1.2]=[i1,i2,i2],y=[1/1.1,2/1.1,3/1.1,4/1.1]=[j1,j2,j3,j3].123456圖像放大

——實現(xiàn)方法最近鄰點法代碼/*-----------scale_near---圖像縮放------- A:輸入圖像數(shù)據(jù)

B:輸出圖像數(shù)據(jù)

row:圖像寬度,高度,行數(shù)

col:圖像長度,列數(shù)

zi:i軸放大倍數(shù)

zj:j軸放大倍數(shù)--------------------------------*/

%ij為新圖像坐標(biāo),mn為原圖像坐標(biāo)

fori=1:row*zi

forj=1:col*zjm=ceil(i/zi);n=ceil(j/zj);

B(i,j)=A(m,n);endend較大倍數(shù)圖

思考一個問題:如果放大倍數(shù)太大,按照前面的方法處理會出現(xiàn)馬賽克效應(yīng)。如果這個問題交給你,有沒有辦法解決?或者想辦法至少使之有所改善?圖像放大

——思考問題圖

按最近鄰域法放大五倍的圖像雙線性內(nèi)插(bilinearinterpolationapproach)abp1-p圖

線性插值法示意圖f1=(1-p)×f([x],[y])+p×f([x]+1,[y])f2=(1-p)×f([x],[y]+1)+p×f([x]+1,[y]+1)f(x,y)=(1-q)×f1+q×f2計算公式f(x,y)=(1-q){(1-p)×f([x],[y])+p×f([x]+1,[y])}+q{(1-p)×f([x],[y]+1)+p×f([x]+1,[y]+1)}式中:f(x,y)為坐標(biāo)(x,y)處的灰度值,[x]、[y]分別為不大于x,y的整數(shù)。已知原圖像中四點的灰度f(101,150)=10,f(102,150)=50,f(101,151)=40,f(102,151)=100,新圖像g是f沿x軸放大5倍,y軸放大2倍構(gòu)成,求g(506,301)的灰度。f(101.2,150.5)m=101,n=150,p=0.2,q=0.5f(101.2,150.5)=(1-0.5)*{(1-0.2)*10+0.2*50}+0.5*{(1-0.2)*40+0.2*100}=35雙線性插值代碼/*-----------scale---圖像縮放------- A:輸入圖像數(shù)據(jù)

B:輸出圖像數(shù)據(jù)

row:圖像寬度,高度,行數(shù)

col:圖像長度,列數(shù)

zi:i放大倍數(shù)(豎直)

zj:j放大倍數(shù)(水平)--------------------------------*/fori=1:row*zi

forj=1:col*zjm=floor(i/zi);n=floor(j/zj);p=i/zi-m;q=j/zj-n;ifm>=1&&n>=1&&m<row&&n<col

B(i,j)=(1-q)*((1-p)*A(m,n)+p*A(m+1,n))+q*((1-p)*A(m,n+1)+p*A(m+1,n+1));endendend圖像示例圖像錯切

——基本概念圖像的錯切變換實際上是平面景物在投影平面上的非垂直投影效果。因為絕大多數(shù)圖像都是三維物體在二維平面上的投影得到的,所以需要研究圖像的錯切現(xiàn)象。圖像錯切

——數(shù)學(xué)模型錯切的數(shù)學(xué)模型如下:

圖像錯切

——示例

可以看到,錯切之后原圖像的像素排列方向發(fā)生改變。該坐標(biāo)變化的特點是,x方向與y方向獨立變化。圖像的位置變換所謂圖像的位置變換是指圖像的大小和形狀不發(fā)生變化,只是將圖像進(jìn)行平移、鏡像和旋轉(zhuǎn)。圖像的位置變換主要是用于目標(biāo)識別中的目標(biāo)配準(zhǔn)。圖像的平移圖像的平移非常簡單,所用到的是中學(xué)學(xué)過的直角坐標(biāo)系的平移變換公式:注意:x方向與y方向是矩陣的行列方向。即:g(x,y)=f(x’,y’)圖像的平移

——示例注意:平移后的景物與原圖像相同,但“畫布”一定是擴(kuò)大了。否則就會丟失信息。下移1行,右移2列y=[1,2,3];x=[1,2,3]y’=[2,3,4];x’=[3,4,5]123123123451234圖像平移程序% A:輸入圖像數(shù)據(jù)

B:輸出圖像數(shù)據(jù)% row:圖像寬度,高度,行數(shù)col:圖像長度,列數(shù)% pi,pj:水平垂直(行,列)偏移量%ij為新圖像坐標(biāo),mn為原圖像坐標(biāo)

fori=1:rowforj=1:colm=i-floor(pi);n=j-floor(pj);ifm>0&&n>0&&m<row&&n<col

B(i,j)=A(m,n);else

B(i,j)=128;

endend圖像的鏡像所謂的鏡像,通俗地講,是指在鏡子中所成的像。其特點是左右顛倒或者是上下顛倒。鏡像分為水平鏡像和垂直鏡像。

圖像的水平鏡像水平鏡像計算公式如下(圖像大小為M*N)

因為表示圖像的矩陣坐標(biāo)不能為負(fù),因此需要在進(jìn)行鏡像計算之后,再進(jìn)行坐標(biāo)的平移。0-1-2-3123圖像的水平鏡像示例:123123123-1-2-3321123實現(xiàn)程序fori=1:rowforj=1:colm=i;n=col+1-j;

B(i,j)=A(m,n);endend% A:輸入圖像數(shù)據(jù) B:輸出圖像數(shù)據(jù)% row:圖像寬度,高度,行數(shù)col:圖像長度,列數(shù)圖像的垂直鏡像垂直鏡像計算公式如下(圖像大小為M*N)

因為表示圖像的矩陣坐標(biāo)不能為負(fù),因此需要在進(jìn)行鏡像計算之后,再進(jìn)行坐標(biāo)的平移。圖像的垂直鏡像示例:123123123-1-2-3012210實現(xiàn)程序fori=1:rowforj=1:colm=row+1-i;n=j;

B(i,j)=A(m,n);

endend% A:輸入圖像數(shù)據(jù) B:輸出圖像數(shù)據(jù)% row:圖像寬度,高度,行數(shù)col:圖像長度,列數(shù)圖像的旋轉(zhuǎn)圖像的旋轉(zhuǎn)計算公式如下:

這個計算公式計算出的值為小數(shù),而坐標(biāo)值為正整數(shù)。這個計算公式計算的結(jié)果值所在范圍與原來的值所在的范圍不同。

因此需要前期處理:擴(kuò)大畫布,取整處理,平移處理

。圖像旋轉(zhuǎn)的前期處理

——畫布的擴(kuò)大圖像旋轉(zhuǎn)之前,為了避免信息的丟失,畫布的擴(kuò)大是最重要的。畫布擴(kuò)大的原則是:以最小的面積承載全部的畫面信息。圖像旋轉(zhuǎn)的前期處理

——畫布的擴(kuò)大畫布擴(kuò)大的簡單方法是:根據(jù)公式計算出i’和j’的最大、最小值,即i’min、i’max和j’min,j’max。畫布大小為:i’max–i’min、j’max

–j’min。圖像旋轉(zhuǎn)的前期處理

——畫布的擴(kuò)大旋轉(zhuǎn)后圖像的畫布大小為:例平移量為△i’=2;△j’=0。圖像旋轉(zhuǎn)

——按照確定畫布時的平移量取整結(jié)論:按照圖像旋轉(zhuǎn)計算公式獲得的結(jié)果與想象中的差異很大。對原圖的(1,1)像素,i=1,j=1取整后,該點在新圖的(2,1)上。對原圖的(1,2)像素,i=1,j=2取整后,該點在新圖的(2,2)上。必須進(jìn)行后處理操作。圖像旋轉(zhuǎn)后處理

——旋轉(zhuǎn)后的隱含問題分析圖像旋轉(zhuǎn)之后,出現(xiàn)了兩個問題:1)像素的排列不是完全按照原有的相鄰關(guān)系。這是因為相鄰像素之間只能有8個方向(相鄰為45度),如下圖所示。2)會出現(xiàn)許多的空洞點。示例圖像旋轉(zhuǎn)后處理

——解決問題的思路出現(xiàn)問題的核心是像素之間的連接是不連續(xù)的。相鄰像素的角度是無法改變的,所以只能通過增加分辨率的方法來從整體上解決這個問題。采用某種填補方法來填充空洞。圖像旋轉(zhuǎn)的后處理

——插值最簡單的方法是行插值(列插值)方法。1)找出當(dāng)前行的最小和最大的非背景點的坐標(biāo),記作:(i,k1)、(i,k2)。如右圖有:(1,3)、(1,3);(2,1)、(2,4);(3,2)、(3,4);(4,2)、(4,3)。圖像旋轉(zhuǎn)的后處理

——插值2)在(k1,k2)范圍內(nèi)進(jìn)行插值,插值的方法是:空點的像素值等于前一點的像素值。3)同樣的操作重復(fù)到所有行。實現(xiàn)fori=1:rowforj=1:colm0=i*cos(theta)+j*sin(theta);n0=-i*sin(theta)+j*cos(theta);m=floor(m0);n=floor(n0);p=m0-m;q=n0-n;ifm>=1&&n>=1&&m<row&&n<col

B(i,j)=(1-q)*((1-p)*A(m,n)+p*A(m+1,n))+q*((1-p)*A(m,n+1)+p*A(m+1,n+1));endendend圖像旋轉(zhuǎn)的后處理

——插值效果分析

經(jīng)過插值處理之后,圖像效果就變得自然。思考一個問題:邊界的鋸齒如何處理?圖像的仿射變換圖像仿射變換提出的意義是采用通用的數(shù)學(xué)影射變換公式,來表示前面給出的幾何變換?;仡櫱懊嬷v過的幾何變換,除了圖像的平移,其他的變換均為線性變換,比較容易處理。為了適應(yīng)平移,提出了齊次坐標(biāo)的概念。平移公式:圖像的仿射變換

——齊次坐標(biāo)原坐標(biāo)為(x,y),定義齊次坐標(biāo)為:(wx,wy,w)實質(zhì)是通過增加一個坐標(biāo)量來解決問題。平移:圖像的仿射變換

——通式有了齊次坐標(biāo)

,就可以定義仿射變換

如下:仿射變換公式中,取齊次坐標(biāo)的w=1。用矩陣形式表示為:圖像的仿射變換

——圖像幾何變換表示圖像的平移:圖像的旋轉(zhuǎn):圖像的仿射變換

——圖像幾何變換表示圖像的水平鏡像:圖像的垂直鏡像:圖像的仿射變換

——圖像幾何變換表示圖像的垂直錯切:圖像的水平錯切:不同幾何變換實際上對應(yīng)著不同的變換矩陣。圖象變形(Imagemorphing)點擊圖片播放視頻變形的臉變形的狗嘴點擊圖片播放視頻ImagemorphingNote,wearewarpingfromoneimagetoadifferentimage.ComparewithEinsteinexample.

-usedinmotionpictures&animation反過來變換,豈不更好?點擊圖片播放視頻返老還童不是夢(在屏幕上)成長幾何失真

圖像在獲取過程中,由于成像系統(tǒng)本身具有非線性、拍攝角度等因素的影響,會使獲得的圖像產(chǎn)生幾何失真。幾何失真系統(tǒng)失真非系統(tǒng)失真。系統(tǒng)失真是有規(guī)律的、能預(yù)測的;非系統(tǒng)失真則是隨機(jī)的。當(dāng)對圖像作定量分析時,就要對失真的圖像先進(jìn)行精確的幾何校正(即將存在幾何失真的圖像校正成無幾何失真的圖像),以免影響定量分析的精度。

圖像的幾何校正

桶形失真(左圖)和枕形失真(右圖)的示例幾何校正方法

圖像幾何校正的基本方法是先建立幾何校正的數(shù)學(xué)模型;其次利用已知條件確定模型參數(shù);最后根據(jù)模型對圖像進(jìn)行幾何校正。通常分兩步:①圖像空間坐標(biāo)變換;首先建立圖像像點坐標(biāo)(行、列號)和物方(或參考圖)對應(yīng)點坐標(biāo)間的映射關(guān)系,解求映射關(guān)系中的未知參數(shù),然后根據(jù)映射關(guān)系對圖像各個像素坐標(biāo)進(jìn)行校正;②確定各像素的灰度值(灰度內(nèi)插)??臻g坐標(biāo)變換

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論