版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程任務設計書</b></p><p><b> 題目:圖像處理</b></p><p><b> 課程設計目的:</b></p><p> 編程實現(xiàn)一幅圖像的平移、鏡像、旋轉(zhuǎn)、縮小和放大。</p><p> 課程設計內(nèi)容和要求:</
2、p><p> 給出所用算法的理論依據(jù)和必要的推導過程;給出原始圖像和處理后的圖像。</p><p><b> 初始條件:</b></p><p> 在matlab平臺上實現(xiàn)功能</p><p><b> 時間安排:</b></p><p> 指導教師簽名:
3、 年 月 日</p><p> 系主任(或責任教師)簽名: 年 月 日</p><p><b> 目錄</b></p><p><b> 摘要I</b></p><p> AbstractII<
4、/p><p> 1MATLAB簡介1</p><p> 1.1 MATLAB說明1</p><p> 1.2 MATLAB的語言特點1</p><p> 1.3 MATLAB系統(tǒng)構(gòu)成1</p><p><b> 2.1整體原理3</b></p><p>
5、2.2各部分原理3</p><p> 2.2.1平移變換3</p><p> 2.2.2鏡像翻轉(zhuǎn)3</p><p> 1.2.3旋轉(zhuǎn)變換4</p><p> 1.2.4縮小和放大4</p><p> 3.1原始圖像選擇讀取6</p><p> 3.2 平移變換7<
6、/p><p> 3.3 鏡像翻轉(zhuǎn)7</p><p> 3.4 旋轉(zhuǎn)變換9</p><p> 3.5 縮小和放大11</p><p><b> 4總結(jié)與分析15</b></p><p><b> 5心得體會16</b></p><p>&
7、lt;b> 6參考文獻17</b></p><p><b> 附錄18</b></p><p><b> 摘要</b></p><p> MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進行標注和打印。高層次的作圖包括二維和三維的可視化、圖象處理
8、、動畫和表達式作圖??捎糜诳茖W計算和工程繪圖。新版本的MATLAB對整個圖形處理功能作了很大的改進和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對于一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時對一些特殊的可視化要求,例如圖形對話等,MATLAB也有相應的功能函數(shù),保證了用戶不同層次的要求。另外新版本的M
9、ATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對這方面有特殊要求的用戶也可以得到滿足。</p><p> 關(guān)鍵字:matlab 圖像處理</p><p><b> Abstract</b></p><p> Since the date of MATLAB produced has convenient data v
10、isualization function, to vector and matrix with graphics demonstrated, and can be graph to mark and print. High level of construction including 2 d and 3 d visualization, image processing, animation and expression mappi
11、ng. Can be used in scientific computing and engineering drawing. The new version of the MATLAB to the graphics functions made a lot of improvement and perfect, make it not only in the general data visualization software
12、with </p><p> Key words: matlab Image processing</p><p><b> 1MATLAB簡介</b></p><p> 1.1 MATLAB說明</p><p> MATLAB是由美國mathworks公司發(fā)布的主要面對科學計算、可視化以及交互式程序設計的高科技
13、計算環(huán)境。它將數(shù)值分析、矩陣計算、科學數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學研究、工程設計以及必須進行有效數(shù)值計算的眾多科學領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平?!?</p><p> MATLAB和Mathematica、Maple并稱為三大數(shù)學軟
14、件。它在數(shù)學類科技應用軟件中在數(shù)值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領(lǐng)域。</p><p> 1.2 MATLAB的語言特點</p><p> ?。?)語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富。運算符豐富。 <
15、;/p><p> ?。?)MATLAB既具有結(jié)構(gòu)化的控制語句(如for循環(huán),while循環(huán),break語句和 if語句),又有面向?qū)ο缶幊痰奶匦浴?lt;/p><p> ?。?)程序限制不嚴格,程序設計自由度大。</p><p> ?。?)MATLAB的圖形功能強大。</p><p> ?。?)MATLAB的缺點是,它和其他高級程序相比,程序的執(zhí)行速
16、度較慢。</p><p> ?。?)由于MATLAB的程序不用編譯等預處理,也不生成可執(zhí)行文件,程序為解釋執(zhí)行,所以速度較慢。</p><p> 1.3 MATLAB系統(tǒng)構(gòu)成 </p><p> 主要由以下五部分構(gòu)成:</p><p> ?。?) MATLAB語言</p><p> ?。?)MATLAB工作環(huán)境&l
17、t;/p><p><b> ?。?)圖形處理</b></p><p> ?。?)MATLAB數(shù)學函數(shù)</p><p> ?。?)MATLAB應用編程人員接口(API)</p><p><b> 2基本原理</b></p><p><b> 2.1整體原理</b
18、></p><p> 幾何變換是圖像處理和圖像分析的重要內(nèi)容之一。通過幾何變換,可以根據(jù)應用的需要使原圖像產(chǎn)生大小、形狀和位置等各方面的變化。也就是說,幾何變換可以改變像素點所在的幾何位置以及圖像中各物體之間的空間位置關(guān)系,這種運算可以被看成是將各物體在圖像內(nèi)移動,特別是圖像具有一定的規(guī)律性時,一個圖像可以由另一個圖像通過做幾何變換來產(chǎn)生。 幾何變換可以分為圖像的位置變換(平移、鏡像、旋轉(zhuǎn))、形狀變換(放
19、大、縮小和剪切)以及圖像的復合變換。圖像幾何變換的一般表達式為:</p><p> 其中(x, y)表示像素點的坐標位置,f(x, y)表示圖像像素點(x, y)的灰度值. 圖像幾何變換就是建立一幅圖像與其變換后的圖像中所有各點之間的映射關(guān)系。</p><p><b> 2.2各部分原理</b></p><p><b> 2.2
20、.1平移變換</b></p><p> 若將像素點(x, y)平移到(x+Δx, y+Δ y), 則圖像平移變換函數(shù)的矩陣表示式為:</p><p><b> 2.2.2鏡像翻轉(zhuǎn)</b></p><p> 圖像的鏡像變換是與人們?nèi)粘I蠲芮邢嚓P(guān)的一種變換。圖像的鏡像變換不改變圖像的形狀。圖像的鏡像變換包括水平鏡像、垂直鏡像和對
21、角鏡像。</p><p> 圖像的水平鏡像變換的矩陣表示形式為:</p><p> 圖像的垂直鏡像變換的矩陣表示形式為:</p><p> 圖像的對角鏡像變換的矩陣表示形式為:</p><p><b> 1.2.3旋轉(zhuǎn)變換</b></p><p> 原始圖像的任意點A(x0, y0)經(jīng)旋
22、轉(zhuǎn)β 角度后到新的位置A(x, y),則旋轉(zhuǎn)變換函數(shù)的矩陣表示式為:</p><p> 對圖像進行旋轉(zhuǎn)變換時應注意以下幾點:</p><p> ?。?)為了避免圖像旋轉(zhuǎn)之后可能產(chǎn)生的信息丟失, 可以先進行平移, 然后進行圖像旋轉(zhuǎn)。</p><p> ?。?)圖像旋轉(zhuǎn)之后, 可能會出現(xiàn)一些空白點, 需對這些空白點進行灰度級的插值處理, 否則會影響旋轉(zhuǎn)之后的圖像質(zhì)量。
23、</p><p> 1.2.4縮小和放大</p><p> 若圖像坐標(x, y)縮放(fx, fy)倍, 則縮放變換函數(shù)的矩陣表示為:</p><p> 如果fx= fy, 即在x 軸方向和y 軸方向縮放的比率相同, 稱為圖像的全比例縮放;如果fx ≠ fy,圖像的比例縮放會改變原始圖像像素間的相對位置, 產(chǎn)生幾何畸變。</p><p&g
24、t; 圖像放大有三種方法,常用的插值算法有三種:最近鄰插值、雙線性插值、立方卷積插值,其中使用立方卷積插值達到的效果是最佳的。</p><p> 最近鄰插值算法最簡單的插值法是最近鄰插值法,也叫零階插值法。即選擇離它所映射到的位置最近的輸入像素的灰度值為插值結(jié)果。對二維圖像,是取待測樣點周圍4 個相鄰像素點中距離最近1 個相鄰點的灰度值作為待測樣點的像素值。若幾何變換后輸出圖像上坐標為(x′,y′)的對應位置
25、為(m,n)</p><p> 雙線性插值算法雙線性插值又叫一階插值法,它要經(jīng)過三次插值才能獲得最終結(jié)果,是對最近鄰插值法的一種改進,先對兩水平方向進行一階線性插值,然后再在垂直方向上進行一階線性插值。</p><p> 立方卷積插值算法立方卷積插值又叫雙三次插值,是對雙線性插值的改進,是一種較為復雜的插值方式,它不僅考慮到周圍四個直接相鄰像素點灰度值的影響,還考慮到它們灰度值變化率的
26、影響。</p><p><b> 3編程與實現(xiàn)</b></p><p> 3.1原始圖像選擇讀取</p><p> MATLAB為用戶提供了專門的函數(shù)以從圖像格式的文件中讀寫圖像數(shù)據(jù)。采用的是imread函數(shù)來實現(xiàn)圖像文件的讀取操作,采用的格式如下:</p><p> A=imread(’filename.png
27、’)</p><p> 該語句用于讀取字符串“filename”對應的灰度圖像或彩色圖像,“png”指定了文件的格式。</p><p> 采用imshow函數(shù)進行圖像的顯示,采用的格式如下:</p><p> A=imread(‘filename.png’); </p><p> imshow(A);</p><p
28、> 當這種顯示方式要求被顯示的圖像要么在當前目錄下或MATLAB的目錄下。</p><p> 圖像讀入與顯示和變化的源代碼如下:</p><p> x=imread(' shu.png');</p><p> imshow(x);</p><p> title('原始圖像')</p>
29、<p> 程序運行結(jié)果如下圖3.1所示:</p><p> 圖3.1 原始圖像</p><p><b> 3.2 平移變換</b></p><p> 平移變換主要通過move函數(shù)實現(xiàn)</p><p> 將一幅圖像向右下方移動,空白的地方用黑色填充。</p><p> A
30、=double(A);</p><p> A_move=zeros(size(A));</p><p> H=size(A);</p><p><b> A_x=30;</b></p><p><b> A_y=30;</b></p><p> A_move(A_x
31、+1:H(1),A_y+1:H(2),1:H(3))=A(1:H(1)-A_x,1:H(2)-A_y,1:H(3));</p><p> subplot(122);imshow(uint8(A_move));</p><p> title('平移后圖像')</p><p> 運行程序,效果如圖3.2所示。</p><p>
32、; 圖3.2 平移后的圖像</p><p><b> 3.3 鏡像翻轉(zhuǎn)</b></p><p> 鏡像翻轉(zhuǎn)主要采用fliplr、flipud兩種函數(shù),對角翻轉(zhuǎn)時兩者同時應用即可</p><p> 用法:fliplr(X)</p><p> 功能:matlab中的fliplr函數(shù)實現(xiàn)矩陣的左右翻轉(zhuǎn)。 fliplr
33、(X)使矩陣X沿垂直軸左右翻轉(zhuǎn)。</p><p> 相關(guān)函數(shù):flipud函數(shù)可以實現(xiàn)矩陣的上下翻轉(zhuǎn)。</p><p> 備注:matlab中提供了許多對矩陣操作的函數(shù),可以實現(xiàn)矩陣的三角矩陣的提?。╰riu、tril)、矩陣的翻轉(zhuǎn)(flipud、fliplr、Flipdim)和旋轉(zhuǎn)(rot90)等各種操作。</p><p> 用法:flipud(X)<
34、/p><p> 功能:matlab中的flipud函數(shù)實現(xiàn)矩陣的上下翻轉(zhuǎn)。flipud(X)實現(xiàn)了矩陣X的上下翻轉(zhuǎn)。</p><p> 相關(guān)函數(shù):fliplr函數(shù)實現(xiàn)矩陣的左右翻轉(zhuǎn)。</p><p> 備注:matlab中提供了許多對矩陣操作的函數(shù),可以實現(xiàn)矩陣的三角矩陣的提?。╰riu、tril)、矩陣的翻轉(zhuǎn)(flipud、fliplr、Flipdim)和旋轉(zhuǎn)(
35、rot90)等各種操作。</p><p> 對圖像進行不同類型的鏡像變換:</p><p> I=imread(' shu.png');</p><p><b> figure(1)</b></p><p> subplot(221);imshow(uint8(I));</p>&l
36、t;p> title('原始圖像')</p><p> I=double(I);</p><p> h=size(I);</p><p> I_fliplr(1:h(1),1:h(2),1:h(3))=I(1:h(1),h(2):-1:1,1:h(3)); %水平鏡像變換</p><p> I1=uint8(I
37、_fliplr);</p><p> subplot(222);imshow(I1);</p><p> title('水平鏡像變換')</p><p> I_flipud(1:h(1),1:h(2),1:h(3))=I(h(1):-1:1,1:h(2),1:h(3)); %垂直鏡像變換</p><p> I2=uin
38、t8(I_flipud);</p><p> subplot(223);imshow(I2);</p><p> title('垂直鏡像變換')</p><p> I_fliplr_flipud(1:h(1),1:h(2),1:h(3))=I(h(1):-1:1,h(2):-1:1,1:h(3)); %對角鏡像變換</p><
39、;p> I3=uint8(I_fliplr_flipud);</p><p> subplot(224);imshow(I3);</p><p> title('對角鏡像變換')</p><p> 運行程序,效果如圖3.3所示。</p><p> 圖3.3 鏡像變換圖像</p><p>
40、<b> 3.4 旋轉(zhuǎn)變換</b></p><p> 旋轉(zhuǎn)變換主要采用imrotate函數(shù)</p><p> 函數(shù)功能:對圖像進行旋轉(zhuǎn)操作。在matlab命令窗口中鍵入help 或 doc imrotate或lookfor imrotate可以獲得該函數(shù)幫助信息。</p><p><b> 調(diào)用格式:</b><
41、;/p><p> B = imrotate(A,angle)</p><p> 將圖像A(圖像的數(shù)據(jù)矩陣)繞圖像的中心點旋轉(zhuǎn)angle度, 正數(shù)表示逆時針旋轉(zhuǎn), 負數(shù)表示順時針旋轉(zhuǎn)。返回旋轉(zhuǎn)后的圖像矩陣。 以這種格式調(diào)用該函數(shù), 該函數(shù)默認采用最近鄰線性插值(Nearest-neighbor interpolation)。旋轉(zhuǎn)后的圖像超出的部分填充0(黑色)。</p><
42、;p> B = imrotate(A,angle,method)</p><p> 使用method參數(shù)可以改變插值算法,method參數(shù)可以為下面這三個值:</p><p> {'nearest'}:最鄰近線性插值(Nearest-neighbor interpolation)</p><p> 'bilinear':
43、 雙線性插值(Bilinear interpolation)</p><p> 'bicubic': 雙三次插值(或叫做雙立方插值)(Bicubic interpolation)</p><p> B = imrotate(A,angle,method,bbox)</p><p> bbox參數(shù)用于指定輸出圖像屬性:</p>
44、;<p> 'crop': 通過對旋轉(zhuǎn)后的圖像B進行裁剪, 保持旋轉(zhuǎn)后輸出圖像B的尺寸和輸入圖像A的尺寸一樣。</p><p> {'loose'}: 使輸出圖像足夠大, 以保證源圖像旋轉(zhuǎn)后超出圖像尺寸范圍的像素值沒有丟失。 一般上這種格式產(chǎn)生的圖像的尺寸都要大于源圖像的尺寸。</p><p> 將圖像逆時針旋轉(zhuǎn)30 度。</p&g
45、t;<p> I=imread(' shu.png ');</p><p><b> figure;</b></p><p> subplot(121);imshow(I);</p><p> title('原始圖像')</p><p> I1=imrotate(I
46、,30,'crop');</p><p> subplot(122);imshow(I1);</p><p> title('逆時針旋轉(zhuǎn)30 度')</p><p> 運行程序,效果如圖3.4所示。</p><p> 圖3.4 旋轉(zhuǎn)變換圖像</p><p><b>
47、3.5 縮小和放大</b></p><p> 圖像的縮放操作主要采用imresize函數(shù)操作。</p><p><b> 函數(shù)功能</b></p><p> 該函數(shù)用于對圖像做縮放處理。在matlab的命令窗口中輸入doc imresize或者help imresize即可獲得該函數(shù)的幫助信息。</p><
48、p><b> 調(diào)用格式</b></p><p> B = imresize(A, scale)</p><p> 返回的圖像B的長寬是圖像A的長寬的m倍。即縮放圖像。 m大于1, 則放大圖像; m小于1, 縮小圖像。</p><p> B = imresize(A, [numrows numcols])</p>&l
49、t;p> numrows和numcols分別指定目標圖像的高度和寬度。 顯而易見, 由于這種格式允許圖像縮放后長寬比例和源圖像長寬比例不相同,因此所產(chǎn)生的圖像有可能發(fā)生畸變。</p><p> [Y newmap] = imresize(X, map, scale)</p><p> [...] = imresize(..., method)</p>&
50、lt;p> method參數(shù)用于指定在改變圖像尺寸時所使用的算法, 可以為一下幾種:</p><p> 'nearest': 這個參數(shù)也是默認的, 即改變圖像尺寸時采用最近鄰插值算法;</p><p> 'bilinear':采用雙線性插值算法;</p><p> 'bicubic': 采用雙三次插值算法
51、;</p><p> [...] = imresize(..., parameter, value,...)</p><p> 使用最近鄰域法將圖像放大1.5倍和縮小0.5倍。</p><p> I=imread(' shu.png '); %I為原始圖像</p><p><b> fig
52、ure;</b></p><p> subplot(131);imshow(I); %顯示原始圖像</p><p> I=double(I);</p><p> I_en=imresize(I,4,'nearest'); %最近鄰法標志函數(shù)nearest 擴大1.5倍</p><p> subplot(13
53、2);imshow(uint8(I_en)); %顯示擴大1.5倍后的圖像</p><p> I_re=imresize(I,0.5,'nearest'); %縮小兩倍</p><p> subplot(133);imshow(uint8(I_re));%顯示縮小0.5 倍后的圖像</p><p> 運行程序,效果如圖3.5、3.6、3.7所示
54、</p><p> 圖3.5 原始圖像 圖3.6縮小0.5倍圖像</p><p> 圖3.7 放大1.5倍圖像</p><p> 使用不同插值方法將圖像縮小為原圖像的0.2 倍,再使用不同的方法放大5 倍。</p><p> I=imread(' shu.p ');</p&g
55、t;<p> J=imresize(I,0.2); %圖像縮小為0.2</p><p> J2=imresize(J,5,'nearest'); %圖像放大,最近鄰插值法</p><p> J3=imresize(J,5,'bilinear'); %圖像放大,雙線性插值法</p><p> J4=imresize
56、(J,5,'bicubic'); %圖像放大,雙立方插值法</p><p> subplot(2,2,1);imshow(I);</p><p> title('原始圖像');</p><p> subplot(2,2,2);imshow(J2);</p><p> title('最近鄰插值法&
57、#39;);</p><p> subplot(2,2,3);imshow(J3);</p><p> title('雙線性插值法');</p><p> subplot(2,2,4);imshow(J4);</p><p> title('雙立方插值法');</p><p>
58、 運行程序,效果如圖3.8所示。</p><p> 圖3.8 不同插值放大圖像</p><p><b> 4總結(jié)與分析</b></p><p> Matlab作為一個極其強大的計算平臺,擁有許多優(yōu)勢,在對圖像進行處理時,可以看做是對于矩陣的運算,通過不同的函數(shù)運算,可以達到不同效果。</p><p> 本次設計主
59、要對于圖像進行四種變換,分別是平移、鏡像、旋轉(zhuǎn)、縮放。</p><p> 在平移操作中,可以通過move函數(shù)更改每個像素的點位置,通過手動更改(x,y)參數(shù)控制水平豎直方向的移動距離。</p><p> 在鏡像試驗中,主要應用fliplr、flipud兩種函數(shù)進行反轉(zhuǎn),其本質(zhì)仍然是矩陣的翻轉(zhuǎn)。在對角線翻轉(zhuǎn)時,可以看做先進行水平方向的翻轉(zhuǎn)在進行水平防線的翻轉(zhuǎn)。</p>&l
60、t;p> 翻轉(zhuǎn)變換操作同樣是對像素的(x,y)進行運算和重排布,以達到整體翻轉(zhuǎn) 效果。</p><p> 圖像的縮放變換通過全比例縮放對像素進行舍棄或補充性運算,放大過程中填充的像素均是由附近像素灰度值等信息計算出來的。</p><p> 值得一提的是,旋轉(zhuǎn)和縮放變換中,默認算法是最鄰近差值法,也就是令變換后像素的灰度值等于距它最近的輸入像素的灰度值,我在縮放變換中加入了最鄰近
61、插值法和雙線性插值法(其核心思想是在兩個方向分別進行一次線性插值,混合的比例與離像素的距離成反比)以及雙立方插值法(在每個維度上對于連續(xù)的4個點進行插值)的比較,比較的結(jié)果是最近鄰插值法鋸齒感明顯,色彩過渡也存在突變。雙線性插值法則優(yōu)于最近鄰插值法,雙立方插值法不僅考慮了周圍四個直接相鄰像素點灰度值的影響,還考慮到它們灰度值變化率的影響。因此克服了前兩種方法的不足之處,能夠產(chǎn)生比雙線性插值更為平滑的邊緣,計算精度很高,處理后的圖像像質(zhì)損
62、失最少,效果是最佳的。</p><p> 在進行圖像縮放處理時,應根據(jù)實際情況對三種算法做出選擇,既要考慮時間方面的可行性,又要對變換后圖像質(zhì)量進行考慮,這樣才能達到較為理想的結(jié)果。</p><p><b> 5心得體會</b></p><p> 通過此次的課程設計,感觸頗深,因為讓我認識到了MATLAB的強大功能,同時也對圖像處理的認識
63、有了進一步的加深。</p><p> 在此次課程設計中我遇到了前所未有的難題。在此我非常感謝曾經(jīng)教育過我們的老師,是他們在平時教學中幫助我培養(yǎng)了良好的學習習慣和查閱新知識,快速理解運用新知識的能力。經(jīng)過一段時間的查閱和向老師的請教,我弄清楚了此時課程設計所需的全部原理知識。</p><p> 在編程的過程中,我也遇到了很多困難,所幸的是圖書館有相關(guān)書籍,網(wǎng)絡上有學長學姐們做過的仿真作為
64、參考,有老師和同學們幫助我,于是我一步步實現(xiàn)了各個步驟的相關(guān)編程,并且在最后得以綜合整理,完成了此次的仿真任務。</p><p> 但是不得不說,此時課程設計由于時間和我的知識儲備的問題,仍然有一些不完備的地方:在整個過程中雖然結(jié)果較為直觀,但我還有過將程序加上操作界面或者將畫面失真度量化等等想法,如果時間允許或有懂得更多的同學協(xié)助,應該可以做得更好。</p><p> 盡管此時課程設
65、計仍然有很多不足,但是我在這個過程中加深了對各方面理論知識的了解,對我以后的學習工作產(chǎn)生了一定影響,十分感謝此次課程設計。 </p><p><b> 6參考文獻</b></p><p> [1] 高展宏,徐文波.基于MATLAB的數(shù)字圖像處理案例教程.北京:清華大學</p><p><b> 版社,2011</b>
66、;</p><p> [2] 賀興華等.MATLAB7.x圖像處理.北京:人民郵電出版社,2006</p><p> [3] 陳杰.MATLAB寶典.北京:電子工業(yè)出版社,2007.</p><p> [4] 張德豐. MATLAB數(shù)值分析與應用. 北京:國防工業(yè)出版社,2009.</p><p> [5] 岡薩雷斯.溫茨著.數(shù)字圖像
67、處理.2版.阮秋琦,等譯. 北京:電子工業(yè)出版</p><p><b> 社,2002.</b></p><p> [6] 汪曉銀,鄒庭榮.數(shù)學軟件與數(shù)學實驗.武漢:華中農(nóng)業(yè)大學教務處,2007</p><p><b> 附錄</b></p><p><b> 平移</b&g
68、t;</p><p> A=imread('shu.png');</p><p><b> figure;</b></p><p> subplot(121);imshow(A);</p><p> title('原始圖像')</p><p> A=dou
69、ble(A);</p><p> A_move=zeros(size(A));</p><p> H=size(A);</p><p><b> A_x=30;</b></p><p><b> A_y=30;</b></p><p> A_move(A_x+1:H
70、(1),A_y+1:H(2),1:H(3))=A(1:H(1)-A_x,1:H(2)-A_y,1:H(3));</p><p> subplot(122);imshow(uint8(A_move));</p><p> title(' 平移后圖像')</p><p><b> 鏡像</b></p><p
71、> I=imread(' shu.png ');</p><p><b> figure(1)</b></p><p> subplot(221);imshow(uint8(I));</p><p> title('原始圖像')</p><p> I=double(I);&
72、lt;/p><p> h=size(I);</p><p> I_fliplr(1:h(1),1:h(2),1:h(3))=I(1:h(1),h(2):-1:1,1:h(3)); %水平鏡像變換</p><p> I1=uint8(I_fliplr);</p><p> subplot(222);imshow(I1);</p>
73、<p> title('(b) 水平鏡像變換')</p><p> I_flipud(1:h(1),1:h(2),1:h(3))=I(h(1):-1:1,1:h(2),1:h(3)); %垂直鏡像變換</p><p> I2=uint8(I_flipud);</p><p> subplot(223);imshow(I2);&l
74、t;/p><p> title('垂直鏡像變換')</p><p> I_fliplr_flipud(1:h(1),1:h(2),1:h(3))=I(h(1):-1:1,h(2):-1:1,1:h(3)); %對角鏡像變換</p><p> I3=uint8(I_fliplr_flipud);</p><p> subpl
75、ot(224);imshow(I3);</p><p> title('對角鏡像變換')</p><p><b> 旋轉(zhuǎn)</b></p><p> I=imread('shu.png ');</p><p><b> figure;</b></p>
76、<p> subplot(121);imshow(I);</p><p> title('原始圖像')</p><p> I1=imrotate(I,30,'crop');</p><p> subplot(122);imshow(I1);</p><p> title(' 逆時
77、針旋轉(zhuǎn)30 度')</p><p><b> 縮放1</b></p><p> I=imread('shu.png '); %I為原始圖像</p><p><b> figure;</b></p><p> subplot(131);imshow(I); %顯示原始圖
78、像</p><p> I=double(I);</p><p> I_en=imresize(I,1.5,'nearest'); %最近鄰法標志函數(shù)nearest 擴大1.5 倍</p><p> subplot(132);imshow(uint8(I_en)); %顯示擴大1.5 倍后的圖像</p><p> tit
79、le(‘最近鄰法擴大1.5 倍’)</p><p> I_re=imresize(I,0.5,'nearest'); %縮小0.5倍</p><p> subplot(133);imshow(uint8(I_re));%顯示縮小0.5倍后的圖像</p><p> title(‘最近鄰法縮小0.5倍’)</p><p>&
80、lt;b> 縮放2</b></p><p> I=imread('shu.png ');</p><p> J=imresize(I,0.2); %圖像縮小為0.2</p><p> J2=imresize(J,15,'nearest'); %圖像放大,最近鄰插值法</p><p>
81、 J3=imresize(J,15,'bilinear'); %圖像放大,雙線性插值法</p><p> J4=imresize(J,15,'bicubic'); %圖像放大,雙立方插值法</p><p> subplot(2,2,1);imshow(I);</p><p> title('原始圖像');<
82、/p><p> subplot(2,2,2);imshow(J2);</p><p> title('最近鄰插值法');</p><p> subplot(2,2,3);imshow(J3);</p><p> title('雙線性插值法');</p><p> subplot(2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機原理及應用技術(shù)課程設計
- access數(shù)據(jù)庫應用技術(shù)課程設計
- web應用技術(shù)課程設計——在線影評系統(tǒng)
- 通信工程c語言課程設計
- 電氣控制及plc應用技術(shù)課程設計
- web應用技術(shù)課程設計(圖書管理系統(tǒng))
- 基于moodle的多媒體應用技術(shù)課程設計
- 電氣控制及plc應用技術(shù)課程設計
- 通信工程課程設計實施細則
- 班級成績管理系統(tǒng)--通信工程課程設計
- matlab課程設計--應用圖像處理
- 數(shù)據(jù)庫應用技術(shù)課程設計--超市進銷存管理
- 現(xiàn)代電氣控制及plc應用技術(shù)課程設計4.5
- 可編程序控制器應用技術(shù)課程設計
- 《數(shù)字圖像處理技術(shù)課程設計報告》--車牌識別系統(tǒng)
- 光纖通信技術(shù)課程設計--光纖簡介
- 單片機應用技術(shù)課程整體教學設計
- 通信技術(shù)應用課程設計報告
- 圖像處理課程設計
- matlab軟件課程設計-- 應用圖像處理
評論
0/150
提交評論