圖像匹配學(xué)習(xí)課程設(shè)計方案_第1頁
圖像匹配學(xué)習(xí)課程設(shè)計方案_第2頁
圖像匹配學(xué)習(xí)課程設(shè)計方案_第3頁
圖像匹配學(xué)習(xí)課程設(shè)計方案_第4頁
圖像匹配學(xué)習(xí)課程設(shè)計方案_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

需求分析1.1題目用特征匹配算法實(shí)現(xiàn)數(shù)字圖像匹配1.2問題描述所謂圖像匹配,就是指圖像之間的比較、得到不同圖像之間的相似度?;跀?shù)字圖像,編寫對兩副數(shù)字圖像進(jìn)行匹配的算法及演示程序?;疽?(1).進(jìn)行匹配的兩幅圖像為JPG格式或BMP格式。(2).能夠進(jìn)行對兩幅數(shù)字圖像的匹配。(3).采用交互式程序?qū)D像進(jìn)行匹配。提高要求:能夠?qū)?shù)字進(jìn)行簡單處理,例如放大,縮小,翻轉(zhuǎn),灰度處理,圖象二值化。開發(fā)環(huán)境:MATLAB7.1GUI:MATLAB7.1自帶的GUI界面編輯器1.3基本功能:通過分析題目的基本要求,我將此軟件的基本功能主要分為2大模塊:一個是數(shù)字圖像處理模塊,另一個是數(shù)字圖像匹配模塊。在數(shù)字圖像處理模塊中,用戶可以對數(shù)字圖像進(jìn)行簡單的處理,可以對圖像進(jìn)行放大,縮小,翻轉(zhuǎn),灰度處理。在數(shù)字圖像匹配模塊中,用戶可以對兩張圖像進(jìn)行匹配并顯示匹配結(jié)果。1.4性能、接口:輸入/輸出形式:此軟件以MATLAB7.1GUI編輯器開發(fā)出的界面作為載體對相映的圖像行相應(yīng)的操作,所以輸入輸出形式主要是通過MATLAB7.1GUI編輯器開發(fā)出的界面來實(shí)現(xiàn)的。輸入形式:輸入任何一幅JPG格式或BMP格式的數(shù)字圖像。輸出形式:將經(jīng)過相應(yīng)操作處理后的圖片顯示出來。測試數(shù)據(jù)要求:任何一幅JPG格式或BMP格式的數(shù)字圖像。2.算法設(shè)計2.1概念解釋:①數(shù)字圖像:數(shù)字圖像是由被稱做像素的小塊區(qū)域組成的二維像素矩陣。一般把圖像分成3種形式:單色圖像,灰度圖像和彩色圖像。②像素:表示圖像顏色的最小單位③灰度圖像:灰度圖是指只含亮度信息,不含色彩信息的圖像,就像平時看到的黑白照片:亮度由暗到明,變化是連續(xù)的。灰度圖的每個像素的亮度用一個數(shù)值來表示,通常數(shù)值范圍在0—255之間,即可用一個字節(jié)來表示,0表示黑,255表示白,而其他表示灰度。④點(diǎn)陣圖:顯示器的屏幕由可以發(fā)光的像素點(diǎn)組成.并且從幾何位置看,所用這些像素點(diǎn)構(gòu)成一個矩形的陣列.利用計算機(jī)控制各像素點(diǎn)按我們指定的要求發(fā)光,就構(gòu)成了我們需要的圖形.這種方式構(gòu)成的圖形我們可稱之為點(diǎn)陣圖形.⑤點(diǎn)陣圖形的坐標(biāo)系統(tǒng):各像素點(diǎn)有一個坐標(biāo)唯一指定了它的位置.如果點(diǎn)陣圖形的大小是N×M,那么它的點(diǎn)陣共有M行N列,每個像素點(diǎn)的位置就由它所在的行和列的位置所唯一確定.這個行和列的位置就給出了點(diǎn)陣圖形的坐標(biāo)系統(tǒng).按照前面的順序,第m行,第n列的像素點(diǎn)順序數(shù)就是m+(n-1)N.反之,順序數(shù)為s的像素點(diǎn)在第sModN行,第Int(s/N)+1列,這里的sModN是s除以N后的余數(shù),Int(s/N)是s/N的整數(shù)部分.需要注意的是第m行,第n列的像素點(diǎn)的坐標(biāo)可能不是(m。n),而是(m-1。n-1).這是因為有時為了在計算機(jī)中處理的方便,像素點(diǎn)的行列的排序不是從1,而是從0開始的.我們常用的顯示器的像素坐標(biāo)就是如此.2.2數(shù)字圖像匹配算法設(shè)計在此軟件中我采用了兩種圖像匹配算法:①基于灰度的模板匹配算法②基于灰度的快速匹配算法。由于各種各樣的原因如(成象條件的差異)圖象預(yù)處理,引入的誤差等,參與圖象匹配的模板與潛在的匹配子圖象間通常存在著程度不同的不一致,因此根據(jù)模板在一幅陌生圖象中檢測出潛在的匹配對象并得出它在圖象中的位置是一件復(fù)雜的工作。2.2.1基于灰度的摸版匹配算法模板匹配是指用一個較小的圖像,即模板與源圖像進(jìn)行比較,以確定在源圖像中是否存在與該模板相同或相似的區(qū)域,若該區(qū)域存在,還可確定其位置并提取該區(qū)域。模板匹配常用的一種測度為模手術(shù)臺與源圖像對應(yīng)區(qū)域的誤差平方和。設(shè)f(x,y)為M×N的源圖像,t(j,k)為J×K(J≤M,K≤N)的模板圖像,則誤差平方和測度定義為:由上式展開可得:令DS(x,y)稱為源圖像中與模板對應(yīng)區(qū)域的能量,它與像素位置(x,y)有關(guān),但隨像素位置(x,y)的變化,DS(x,y)變化緩慢。DST(x,y)模板與源圖像對應(yīng)區(qū)域的互相關(guān),它隨像素位置(x,y)的變化而變化,當(dāng)模板t(j,k)和源圖像中對應(yīng)區(qū)域相匹配時取最大值。DT(x,y)稱為模板的能量,它與圖像像素位置(x,y)無關(guān),只用一次計算便可。顯然,計算誤差平方和測度可以減少計算量?;谏鲜龇治觯粼O(shè)DS(x,y)也為常數(shù),則用DST(x,y)便可進(jìn)行圖像匹配,當(dāng)DST(x,y)取最大值時,便可認(rèn)為模板與圖像是匹配的。但假設(shè)DS(x,y)為常數(shù)會產(chǎn)生誤差,嚴(yán)重時將無法下確匹配,因此可用歸一化互相關(guān)作為誤差平方和測度,其定義為:下圖給出了模板匹配的示意圖,其中假設(shè)源圖像f(x,y)和模板圖像t(k,l)的原點(diǎn)都在左上角。對任何一個f(x,y)中的(x,y),根據(jù)上式都可以算得一個R(x,y).當(dāng)x和y變化時,t(j,k)在源圖像區(qū)域中移動并得出R(x,y)所有值。R(x,y)的最大值指出了與t(j,k)匹配的最佳位置,若從該位置開始在源圖像中取出與模板大小相同的一個區(qū)域,便可得到匹配圖像。2-1匹配圖像⑵基于灰度的快速匹配算法1.局部灰度特征的編碼與計算首先將整幅圖像劃分為k×k尺寸且互不重疊的方塊,k可根據(jù)問題任意選擇,稱該方塊為R-塊.如果圖像的邊長不是k的整數(shù)倍,則將最底部與最右邊剩余的幾行、幾列裁剪掉(下文將說明這并不影響最終的匹配結(jié)果).對邊長為H的圖像,共可得到H2/k2個R-塊.對于R-塊Ri,S(Ri)表示Ri所包含像素的灰度值之和.定義1.R-塊(如圖2-2中的R5所示)與其周圍8個相鄰的R-塊(如圖2中的R1,R2,R3,R4,R6,R7,R8,R9所示)組成R-塊的鄰域.將R-塊的鄰域分為4個部分,分別為D1,D2,D3,D4(如圖2-2所示),稱為R-塊的D-鄰域.R-塊R5分別屬于4個D-鄰域,即D1=R1∪R2∪R4∪R5。D2=R4∪R5∪R7∪R8。D3=R5∪R6∪R8∪R9。D4=R2∪R3∪R5∪R6.對于每個D-鄰域中的4個R-塊,可規(guī)定一個順序(如圖2-3中所取的逆時針序).對Dj所包含的4個R-塊的像素灰度值之和S(Rj1),S(Rj2),S(Rj3),S(Rj4)做排序,顯然共有4!=24種可能,每種排序結(jié)果可以用5位的二進(jìn)制編碼來表示,記作P(Dj)∈{00000,00001,…,10111}.圖2-2區(qū)域劃分圖2-3劃分后的區(qū)域?qū)-塊Ri所在的4個D-塊的P(Dj)做位串拼接,得到F(Ri)=P(D1)P(D2)P(D3)P(D4),即F(Ri)=(P(D1)<<15)+(P(D2)<<10)+(P(D3)<<5)+P(D4).其中,P(Dj)為Ri所在的鄰域Dj的二進(jìn)編碼,<<為移位操作,其后面的數(shù)字表示移位位數(shù).定義2.F(Ri)為Ri塊的20位二進(jìn)制編碼特征表示,簡稱Ri塊的編碼.對一幅圖像,提取它所有Ri塊的編碼,需要計算各個R-塊的灰度值和S(Ri)、計算各個D-鄰域的編碼P(Dj)、計算各個Ri塊的編碼F(Ri)等共3步.圖像最外一圈的Ri塊的編碼無定義.對于邊長為H的圖像,上述運(yùn)算的時間復(fù)雜度為O(H2).顯然,F(Ri)表示R-塊Ri的灰度與相鄰8個R-塊灰度的分布(序)關(guān)系,體現(xiàn)了圖像灰度的相對值,因此對整體灰度值的變化具有相對的穩(wěn)定性.通過對R-塊尺寸k的選擇,可以改變圖像處理粒度的大小,以改變抵抗不同頻率噪聲的能力.2.特征的匹配過程定義3.在待搜索圖S上以模板T的長、寬為橫向、縱向步長,從S的左上角開始按模板T的大小劃分S得到的子圖稱為限制塊,記作Ci,j,其中(i,j)為限制塊左上角頂點(diǎn)在搜索圖S上的坐標(biāo).這樣劃分后,如果在搜索圖S的右側(cè)或底部有剩余部分,則相應(yīng)地從S的最右側(cè)開始向左,或從最底部開始向上劃分出一列或一行限制塊,使得全部限制塊可以完全覆蓋搜索圖S.這樣得到的圖S上的限制塊的數(shù)量為M2/H2。定義4.限制塊Ci,j與模板T都是尺寸為N×N的圖像,各自的R-塊特征集合用(N/k)階方陣A(Ci,j)與A(T)表示,稱為特征編碼矩陣,這里k為R-塊的邊長.在Ci,j與T作特征比較時,即比較A(T)每一個元素與A(Ci,j)中每一個元素是否相等,如果相等,則記下矩陣A(Ci,j)中的行號、列號.3.應(yīng)用程序設(shè)計3.1程序代碼clear。clc。reference_img=imread('optical1.tif')。%提取原始圖片作為基準(zhǔn)target_img=imread('optical2.tif')。%要求進(jìn)行匹配的圖像subplot(2,3,1)。%顯示原始圖像imshow(reference_img)。title('原始圖像')。subplot(2,3,2)。%顯示進(jìn)行匹配的圖像imshow(target_img)。title('目標(biāo)圖像')。[Ix,Iy]=size(target_img)。%取出圖片大小x=[160,103,102,209]。%自己選定的特征點(diǎn)y=[116,246,160,299]。u=[87,35,34,141]。v=[21,151,66,204]。Px=polyfit(x,u,1)。%映射函數(shù)求解Py=polyfit(y,v,1)。fori=1:Ixforj=1:Iym=i*Px(1,1)+Px(1,2)。%映射函數(shù)n=j*Py(1,1)+Py(1,2)。m_integer=floor(m)。%對映射值進(jìn)行取整n_integer=floor(n)。m_decimal=m-m_integer。%對映射值取小數(shù)n_decimal=n-n_integer。if(ge(m_integer,Ix)||ge(n_integer,Iy)||lt(m_integer,0)||lt(n_integer,0)||m_integer==0||n_integer==0)%判斷映射點(diǎn)是否滿足條件result_img(i,j)=0。result_img3(i,j)=0。elseresult_img(i,j)=target_img(m_integer,n_integer)。%沒有進(jìn)行插值result_img3(i,j)=(1-m_decimal)*(n_decimal*target_img(m_integer,n_integer+1)+(1-n_decimal)*target_img(m_integer,n_integer))+m_decimal*(n_decimal*target_img(m_integer+1,n_integer+1)+(1-n_decimal)*target_img(m_integer+1,n_integer))。%雙線性插值endifresult_img(i,j)==0%把沒有進(jìn)行插值圖像和原始圖像進(jìn)行組合result_img2(i,j)=reference_img(i,j)。elseresult_img2(i,j)=result_img(i,j)。endifresult_img3(i,j)==0%把插值后圖像和原始圖像進(jìn)行組合result_img4(i,j)=reference_img(i,j)。elseresult_img4(i,j)=result_img3(i,j)。endendendsubplot(2,3,3)。%顯示未插值圖像匹配imshow(result_img,[])。title('未插值圖像匹配')。subplot(2,3,4)。%顯示未插值圖像匹配組合imshow(result_img2,[])。title('未插值圖像匹配組合')subplot(2,3,5)。%顯示雙線性插值后圖像匹配imshow(result_img3,[])。title('雙線性插值后圖像匹配')。subplot(2,3,6)。%顯示雙線性插值后圖像匹配組合imshow(result_img4,[])。title('雙線性插值后圖像匹配組合')。3.3界面設(shè)計本程序采用交互式來演示圖像匹配過程,GUI采用MATLAB7.1自帶的GUI界面編輯器。主要涉及圖像顯示,各個功能按鈕對顯示的圖像所進(jìn)行的操作(如:放大,縮小,旋轉(zhuǎn)和圖像匹配),文件對話框(用來讀取和保存圖像)。舉例:[pname,adrname]=uigetfile('*.jpg','*.bmp')運(yùn)行結(jié)果如3-1:3-1運(yùn)行結(jié)果3-2面樣式4.數(shù)據(jù)測試讀取了兩幅圖片顯示在顯示區(qū)域內(nèi),如圖4-1所示,一幅是原始圖片,一幅是目標(biāo)圖像。從顯示區(qū)域內(nèi)剪切一塊區(qū)域(按下剪切按鈕可進(jìn)行剪切)。按下匹配算法1,或匹配算法2后,系統(tǒng)就會自動將模板圖像在顯示圖像中進(jìn)行匹配,如果找到了匹配地點(diǎn)就會用紅色矩形將匹配區(qū)域給圈定下來,例如圖4-1就是在顯示圖像中找到的匹配區(qū)域。根據(jù)測試結(jié)果得:匹配算法1(基于灰度的模板匹配算法)的匹配時間約為26秒左右。匹配算法2(基于灰度的快速匹配算法)的匹配時間約為16秒左右。結(jié)論:匹配算法1和匹配算法2的共同缺點(diǎn)是都絕對的依賴坐標(biāo)系統(tǒng),費(fèi)時間較多。在抗噪音能力上,匹配算法1沒有抗噪音的能力,匹配算法2在

溫馨提示

  • 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

提交評論