版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 數(shù)字圖像處理課程設計</p><p> 基于Matlab的圖像放縮技術</p><p> 院 系: 信息科學與技術學院 </p><p> 專業(yè)班級: 電子0801班 </p><p> 姓 名: </p><p>
2、 學 號: </p><p><b> 2011年1月8日</b></p><p><b> 1.設計目標</b></p><p> 圖像放縮處理存在較大失真,本設計要求輸入一副圖像,經(jīng)放大或縮小后,使輸出圖像盡量減少失真度??刹捎貌逯邓惴ǎㄗ罱彶逯岛碗p線性插值法),使圖像內(nèi)物體的邊界得以保
3、持,盡可能減少失真度。通過本次設計加強對數(shù)字圖像處理的理解。</p><p><b> 2.設計原理:</b></p><p> 2.1 最近鄰插值法</p><p> 所謂的最近鄰法,即輸出圖像像素的灰度值等于離它所映射到的位置最近的輸入像素的灰度值。</p><p> 現(xiàn)在假設放大或縮小后的圖像的某一像素映射
4、到原圖像的像素坐標為(2.2, 4.0),想要得到這個坐標對應的灰度,那么比較簡單的方法是用四舍五入方法來得到距離該點最近的像素,即像素(2, 4)的值來代替,當然這并不十分的精確,如果用這個方法進行圖像放大,那么在比例較大的情況下就會出現(xiàn)明顯的“馬賽克”現(xiàn)象。</p><p> 2.2 雙線性插值法</p><p> 雙線性插值法,即通過已知輸入四點灰度內(nèi)插輸出點灰度,將臨近的像素點
5、的灰度值按一定比例混合而成,離哪個像素近,哪個像素的比例就大些。具體原理如下:</p><p> 令f(x,y)為兩個變量的函數(shù),其在單位正方形頂點的值已知,要通過插值得到正方形內(nèi)任意點的灰度值,則可由雙曲線方程</p><p><b> ?。?-1)</b></p><p> 來定義的一個雙曲拋物面與四個已知點擬合。</p>
6、<p> 從a到d這四個系數(shù)需由已知的四個頂點的f(x,y)灰度值擬合。首先,對上端的兩個頂點進行線性插值,可得</p><p><b> ?。?-2)</b></p><p> 同理,對底端的兩個頂點進行線性插值,可得</p><p><b> (2-3)</b></p><p>
7、; 最后,進行垂直方向的線性插值,可得</p><p><b> ?。?-4)</b></p><p> 將式(2-2)、式(2-3)代入式(2-4),展開等式并合并同類項,可得</p><p> 該式形式類似于式(2-1),因此是雙線性的。</p><p> 3.設計程序流程圖:</p><
8、p><b> 4.設計程序</b></p><p> g0=imread('lena.bmp'); %讀取原圖像g0</p><p> [m n]=size(g0); %求原圖像大小[m n]</p><p> a=input('times:');
9、 %輸入放縮倍數(shù)a</p><p> m0=round(m*a); </p><p> n0=round(n*a); %求放縮后圖像大小[m0 n0]</p><p> g1=zeros(m0,n0); %開辟內(nèi)存g1,存放放縮后的圖象</p><p> type=i
10、nput('1.最近鄰 2.雙線性 You want:'); %輸入type的值,選擇插值方法</p><p> if type==1 %type值為1,則用最近鄰插值法</p><p> for x=5:m0-5</p><p> for y=5:n0-5 %求x從5到m0-5,y從5到n0-5的像素的灰度
11、值</p><p> u=x/a; </p><p> v=y/a; %點(x,y)映射到原圖像,為點(u,v)</p><p> g1(x,y)=g0(round(u),round(v)); %最近鄰法求點(u,v)的灰度值,賦值給g1(x,y)</p><p><b> end</
12、b></p><p> end %循環(huán)結束</p><p> else if type==2 %type值為2,用雙線性插值法</p><p> for x=5:m0-5</p><p> for y=5:n0-5 %求x從5到m0-5,y從5到n0-5的像素的灰度值</p>
13、<p><b> u=x/a;</b></p><p> v=y/a; %點(x,y)映射到原圖像,為點(u,v)</p><p><b> w=fix(u);</b></p><p> z=fix(v); %(u,v)取整為(w,z)</p><p>&l
14、t;b> dw=u-w;</b></p><p> dv=v-z; %差值</p><p> g1(x,y)=[g0(w+1,z)-g0(w,z)]*dw+[g0(w,z+1)-g0(w,z)]*dv+[g0(w+1,z+1)+g0(w,z)-g0(w+1,z)-g0(w,z+1)]*dw*dv+g0(w,z); %雙線性法求點(u,v)的灰度值,賦值給
15、g1(x,y)</p><p><b> end</b></p><p> end %循環(huán)結束</p><p> else </p><p> disp('False!') %type值輸入錯誤,輸出“False!”</p><p
16、><b> end</b></p><p><b> end</b></p><p><b> for x=1:4</b></p><p> for y=1:4 %區(qū)域x從1到4,y從1到4</p><p> g1(x,y)=g0(1,1);
17、 %將這一區(qū)域的像素的灰度值設為原圖像(1,1)的灰度值</p><p><b> end</b></p><p> end %賦值結束</p><p> for x=m0-4:m0</p><p> for y=1:4 %區(qū)域x從m0-4到m0,y從1到4</p>
18、<p> g1(x,y)=g0(m,1); %將這一區(qū)域的像素的灰度值設為原圖像(m,1)的灰度值</p><p><b> end</b></p><p> end %賦值結束</p><p><b> for x=1:4</b></p><p>
19、 for y=n0-4:n0 %區(qū)域x從1到4,y從n0-4到n0</p><p> g1(x,y)=g0(1,n); %將這一區(qū)域的像素的灰度值設為原圖像(1,n)的灰度值</p><p><b> end</b></p><p> end %賦值結束</p><p&g
20、t; for x=m0-4:m0</p><p> for y=n0-4:n0 %區(qū)域x從m0-4到m0,y從n0-4到n0</p><p> g1(x,y)=g0(m,n); %將這一區(qū)域的像素的灰度值設為原圖像(m,n)的灰度值</p><p><b> end</b></p><p&
21、gt; end %賦值結束</p><p><b> for x=1:4</b></p><p> for y=5:n0-5 %區(qū)域x從1到4,y從5到n0-5</p><p> g1(x,y)=g1(5,y); %將這一區(qū)域的像素的灰度值設為放縮后圖像(5,y)的灰度值</p
22、><p><b> end</b></p><p> end %賦值結束</p><p> for x=m0-4:m0</p><p> for y=5:n0-5 %區(qū)域x從m0-4到m0,y從5到n0-5</p><p> g1(x,y)=g1(m0-5
23、,y); %將這一區(qū)域的像素的灰度值設為放縮后圖像(m0-5,y)的灰度值</p><p><b> end</b></p><p> end %賦值結束</p><p><b> for y=1:4</b></p><p> for x=5:m0-5
24、 %區(qū)域x從5到m0-5,y從1到4</p><p> g1(x,y)=g1(x,5); %將這一區(qū)域的像素的灰度值設為放縮后圖像(x,5)的灰度值</p><p><b> end</b></p><p> end %賦值結束</p><p> for y=n0-5:n0
25、</p><p> for x=5:m0-5 %區(qū)域x從5到m0-5,y從n0-5到n0</p><p> g1(x,y)=g1(x,n0-5); %將這一區(qū)域的像素的灰度值設為放縮后圖像(x,n0-5)的灰度值</p><p><b> end</b></p><p> end
26、 %賦值結束</p><p><b> figure(1)</b></p><p> imshow(g0) %顯示原圖像</p><p> title('原圖像'); %標題為“原圖像”</p><p><b> figure(2)</b>
27、;</p><p> g1=uint8(g1); %轉(zhuǎn)換類型</p><p> imshow(g1) %顯示放縮后圖像</p><p> title('縮放后的圖像');%標題為“縮放后的圖像”</p><p><b> 5.圖像效果分析:</b></p>
28、<p><b> 運行界面</b></p><p><b> 圖5-1 運行界面</b></p><p><b> 原圖像</b></p><p><b> 圖5-2 原圖像</b></p><p> 使用最近鄰插值法放大2倍和縮小
29、為0.8后的圖像</p><p> 圖5-3 縮小0.8后的圖像</p><p> 圖5-4 放大2倍后的圖像</p><p> 使用雙線性插值法放大1.8倍和縮小為0.6后的圖像</p><p> 圖5-5 縮小為0.6后的圖像</p><p> 圖5-6 放大1.8倍后的圖像</p><
30、;p> 總結:放大的圖像邊緣的插值效果較好,縮小的圖像邊緣易看出人為的效果,因為邊緣的像素點的灰度值是相同的,縮小后的圖像相對放大的圖像邊緣所占比例更大,看起來更寬,條狀、塊狀效應更明顯。且這兩種插值方法不適合放大或縮小太大的倍數(shù)。</p><p> (3)若type值輸入錯誤,則輸出“False!”,如下圖所示</p><p><b> 圖5-7 運行界面</
31、b></p><p><b> 6.實習結論</b></p><p> 通過這次數(shù)字圖像處理的課程設計,將一副圖像使用插值的方法放大或縮小,加深了對于數(shù)字圖像處理這門課程的認識,清楚的認識到這門課程的實際應用性。進一步掌握了Matlab的使用,體會到這個軟件作為許多應用方向工具的強大之處,對編程的邏輯思想有了更深的認識和體會。</p><
32、p><b> 7.參考文獻:</b></p><p> 劉直芳等.數(shù)字圖象處理與分析.北京:清華大學出版社,2006</p><p> 張磊等.MATLAB實用教程. 北京:人民郵電出版社,2008</p><p> http://blog.csdn.net/zhinan18/archive/2008/04/04/2249769.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- matlab圖像處理課程設計報告
- 基于matlab的圖像處理的課程設計
- matlab課程設計(基于matlab的圖像處理的基本運算)
- 基于matlab的圖像處理的課程設計
- matlab課程設計--圖像處理
- 數(shù)字圖像處理-課程設計報告-matlab
- matlab課程設計--圖像處理
- 圖像處理課程設計--基于matlab的數(shù)字圖像處理
- matlab課程設計---基于matlab圖像增強的比較及其理論分析
- matlab課程設計圖像處理
- matlab課程設計報告
- matlab課程設計--應用圖像處理
- matlab課程設計報告
- matlab課程設計報告-數(shù)字圖像處理研究
- 基于matlab的電力電子技術課程設計報告
- mtalab課程設計 matlab圖像處理
- matlab課程設計--gui圖像處理
- 雷達技術課程設計報告--基于matlab的地基雷達設計
- 數(shù)字圖像處理課程設計--基于matlab的數(shù)字圖像處理
- matlab課程設計報告 (2)
評論
0/150
提交評論