2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程任務(wù)設(shè)計(jì)書(shū)</b></p><p><b>  題目:圖像處理</b></p><p><b>  課程設(shè)計(jì)目的:</b></p><p>  編程實(shí)現(xiàn)一幅圖像的平移、鏡像、旋轉(zhuǎn)、縮小和放大。</p><p>  課程設(shè)計(jì)內(nèi)容和要求:</

2、p><p>  給出所用算法的理論依據(jù)和必要的推導(dǎo)過(guò)程;給出原始圖像和處理后的圖像。</p><p><b>  初始條件:</b></p><p>  在matlab平臺(tái)上實(shí)現(xiàn)功能</p><p><b>  時(shí)間安排:</b></p><p>  指導(dǎo)教師簽名:

3、 年 月 日</p><p>  系主任(或責(zé)任教師)簽名: 年 月 日</p><p><b>  目錄</b></p><p><b>  摘要I</b></p><p>  AbstractII<

4、/p><p>  1MATLAB簡(jiǎn)介1</p><p>  1.1 MATLAB說(shuō)明1</p><p>  1.2 MATLAB的語(yǔ)言特點(diǎn)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心得體會(huì)16</b></p><p>&

7、lt;b>  6參考文獻(xiàn)17</b></p><p><b>  附錄18</b></p><p><b>  摘要</b></p><p>  MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來(lái),并且可以對(duì)圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維的可視化、圖象處理

8、、動(dòng)畫(huà)和表達(dá)式作圖??捎糜诳茖W(xué)計(jì)算和工程繪圖。新版本的MATLAB對(duì)整個(gè)圖形處理功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對(duì)于一些其他軟件所沒(méi)有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時(shí)對(duì)一些特殊的可視化要求,例如圖形對(duì)話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的M

9、ATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對(duì)這方面有特殊要求的用戶也可以得到滿足。</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簡(jiǎn)介</b></p><p>  1.1 MATLAB說(shuō)明</p><p>  MATLAB是由美國(guó)mathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技

13、計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語(yǔ)言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。  </p><p>  MATLAB和Mathematica、Maple并稱為三大數(shù)學(xué)軟

14、件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語(yǔ)言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。</p><p>  1.2 MATLAB的語(yǔ)言特點(diǎn)</p><p> ?。?)語(yǔ)言簡(jiǎn)潔緊湊,使用方便靈活,庫(kù)函數(shù)極其豐富。運(yùn)算符豐富。 <

15、;/p><p> ?。?)MATLAB既具有結(jié)構(gòu)化的控制語(yǔ)句(如for循環(huán),while循環(huán),break語(yǔ)句和 if語(yǔ)句),又有面向?qū)ο缶幊痰奶匦浴?lt;/p><p>  (3)程序限制不嚴(yán)格,程序設(shè)計(jì)自由度大。</p><p> ?。?)MATLAB的圖形功能強(qiáng)大。</p><p>  (5)MATLAB的缺點(diǎn)是,它和其他高級(jí)程序相比,程序的執(zhí)行速

16、度較慢。</p><p> ?。?)由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序?yàn)榻忉寛?zhí)行,所以速度較慢。</p><p>  1.3 MATLAB系統(tǒng)構(gòu)成 </p><p>  主要由以下五部分構(gòu)成:</p><p>  (1) MATLAB語(yǔ)言</p><p> ?。?)MATLAB工作環(huán)境&l

17、t;/p><p><b> ?。?)圖形處理</b></p><p> ?。?)MATLAB數(shù)學(xué)函數(shù)</p><p> ?。?)MATLAB應(yīng)用編程人員接口(API)</p><p><b>  2基本原理</b></p><p><b>  2.1整體原理</b

18、></p><p>  幾何變換是圖像處理和圖像分析的重要內(nèi)容之一。通過(guò)幾何變換,可以根據(jù)應(yīng)用的需要使原圖像產(chǎn)生大小、形狀和位置等各方面的變化。也就是說(shuō),幾何變換可以改變像素點(diǎn)所在的幾何位置以及圖像中各物體之間的空間位置關(guān)系,這種運(yùn)算可以被看成是將各物體在圖像內(nèi)移動(dòng),特別是圖像具有一定的規(guī)律性時(shí),一個(gè)圖像可以由另一個(gè)圖像通過(guò)做幾何變換來(lái)產(chǎn)生。 幾何變換可以分為圖像的位置變換(平移、鏡像、旋轉(zhuǎn))、形狀變換(放

19、大、縮小和剪切)以及圖像的復(fù)合變換。圖像幾何變換的一般表達(dá)式為:</p><p>  其中(x, y)表示像素點(diǎn)的坐標(biāo)位置,f(x, y)表示圖像像素點(diǎn)(x, y)的灰度值. 圖像幾何變換就是建立一幅圖像與其變換后的圖像中所有各點(diǎn)之間的映射關(guān)系。</p><p><b>  2.2各部分原理</b></p><p><b>  2.2

20、.1平移變換</b></p><p>  若將像素點(diǎn)(x, y)平移到(x+Δx, y+Δ y), 則圖像平移變換函數(shù)的矩陣表示式為:</p><p><b>  2.2.2鏡像翻轉(zhuǎn)</b></p><p>  圖像的鏡像變換是與人們?nèi)粘I蠲芮邢嚓P(guān)的一種變換。圖像的鏡像變換不改變圖像的形狀。圖像的鏡像變換包括水平鏡像、垂直鏡像和對(duì)

21、角鏡像。</p><p>  圖像的水平鏡像變換的矩陣表示形式為:</p><p>  圖像的垂直鏡像變換的矩陣表示形式為:</p><p>  圖像的對(duì)角鏡像變換的矩陣表示形式為:</p><p><b>  1.2.3旋轉(zhuǎn)變換</b></p><p>  原始圖像的任意點(diǎn)A(x0, y0)經(jīng)旋

22、轉(zhuǎn)β 角度后到新的位置A(x, y),則旋轉(zhuǎn)變換函數(shù)的矩陣表示式為:</p><p>  對(duì)圖像進(jìn)行旋轉(zhuǎn)變換時(shí)應(yīng)注意以下幾點(diǎn):</p><p> ?。?)為了避免圖像旋轉(zhuǎn)之后可能產(chǎn)生的信息丟失, 可以先進(jìn)行平移, 然后進(jìn)行圖像旋轉(zhuǎn)。</p><p> ?。?)圖像旋轉(zhuǎn)之后, 可能會(huì)出現(xiàn)一些空白點(diǎn), 需對(duì)這些空白點(diǎn)進(jìn)行灰度級(jí)的插值處理, 否則會(huì)影響旋轉(zhuǎn)之后的圖像質(zhì)量。

23、</p><p>  1.2.4縮小和放大</p><p>  若圖像坐標(biāo)(x, y)縮放(fx, fy)倍, 則縮放變換函數(shù)的矩陣表示為:</p><p>  如果fx= fy, 即在x 軸方向和y 軸方向縮放的比率相同, 稱為圖像的全比例縮放;如果fx ≠ fy,圖像的比例縮放會(huì)改變?cè)紙D像像素間的相對(duì)位置, 產(chǎn)生幾何畸變。</p><p&g

24、t;  圖像放大有三種方法,常用的插值算法有三種:最近鄰插值、雙線性插值、立方卷積插值,其中使用立方卷積插值達(dá)到的效果是最佳的。</p><p>  最近鄰插值算法最簡(jiǎn)單的插值法是最近鄰插值法,也叫零階插值法。即選擇離它所映射到的位置最近的輸入像素的灰度值為插值結(jié)果。對(duì)二維圖像,是取待測(cè)樣點(diǎn)周圍4 個(gè)相鄰像素點(diǎn)中距離最近1 個(gè)相鄰點(diǎn)的灰度值作為待測(cè)樣點(diǎn)的像素值。若幾何變換后輸出圖像上坐標(biāo)為(x′,y′)的對(duì)應(yīng)位置

25、為(m,n)</p><p>  雙線性插值算法雙線性插值又叫一階插值法,它要經(jīng)過(guò)三次插值才能獲得最終結(jié)果,是對(duì)最近鄰插值法的一種改進(jìn),先對(duì)兩水平方向進(jìn)行一階線性插值,然后再在垂直方向上進(jìn)行一階線性插值。</p><p>  立方卷積插值算法立方卷積插值又叫雙三次插值,是對(duì)雙線性插值的改進(jìn),是一種較為復(fù)雜的插值方式,它不僅考慮到周圍四個(gè)直接相鄰像素點(diǎn)灰度值的影響,還考慮到它們灰度值變化率的

26、影響。</p><p><b>  3編程與實(shí)現(xiàn)</b></p><p>  3.1原始圖像選擇讀取</p><p>  MATLAB為用戶提供了專門的函數(shù)以從圖像格式的文件中讀寫圖像數(shù)據(jù)。采用的是imread函數(shù)來(lái)實(shí)現(xiàn)圖像文件的讀取操作,采用的格式如下:</p><p>  A=imread(’filename.png

27、’)</p><p>  該語(yǔ)句用于讀取字符串“filename”對(duì)應(yīng)的灰度圖像或彩色圖像,“png”指定了文件的格式。</p><p>  采用imshow函數(shù)進(jìn)行圖像的顯示,采用的格式如下:</p><p>  A=imread(‘filename.png’); </p><p>  imshow(A);</p><p

28、>  當(dāng)這種顯示方式要求被顯示的圖像要么在當(dāng)前目錄下或MATLAB的目錄下。</p><p>  圖像讀入與顯示和變化的源代碼如下:</p><p>  x=imread(' shu.png');</p><p>  imshow(x);</p><p>  title('原始圖像')</p>

29、<p>  程序運(yùn)行結(jié)果如下圖3.1所示:</p><p>  圖3.1 原始圖像</p><p><b>  3.2 平移變換</b></p><p>  平移變換主要通過(guò)move函數(shù)實(shí)現(xiàn)</p><p>  將一幅圖像向右下方移動(dòng),空白的地方用黑色填充。</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>  運(yùn)行程序,效果如圖3.2所示。</p><p>

32、;  圖3.2 平移后的圖像</p><p><b>  3.3 鏡像翻轉(zhuǎn)</b></p><p>  鏡像翻轉(zhuǎn)主要采用fliplr、flipud兩種函數(shù),對(duì)角翻轉(zhuǎn)時(shí)兩者同時(shí)應(yīng)用即可</p><p>  用法:fliplr(X)</p><p>  功能:matlab中的fliplr函數(shù)實(shí)現(xiàn)矩陣的左右翻轉(zhuǎn)。 fliplr

33、(X)使矩陣X沿垂直軸左右翻轉(zhuǎn)。</p><p>  相關(guān)函數(shù):flipud函數(shù)可以實(shí)現(xiàn)矩陣的上下翻轉(zhuǎn)。</p><p>  備注:matlab中提供了許多對(duì)矩陣操作的函數(shù),可以實(shí)現(xiàn)矩陣的三角矩陣的提取(triu、tril)、矩陣的翻轉(zhuǎn)(flipud、fliplr、Flipdim)和旋轉(zhuǎn)(rot90)等各種操作。</p><p>  用法:flipud(X)<

34、/p><p>  功能:matlab中的flipud函數(shù)實(shí)現(xiàn)矩陣的上下翻轉(zhuǎn)。flipud(X)實(shí)現(xiàn)了矩陣X的上下翻轉(zhuǎn)。</p><p>  相關(guān)函數(shù):fliplr函數(shù)實(shí)現(xiàn)矩陣的左右翻轉(zhuǎn)。</p><p>  備注:matlab中提供了許多對(duì)矩陣操作的函數(shù),可以實(shí)現(xiàn)矩陣的三角矩陣的提取(triu、tril)、矩陣的翻轉(zhuǎn)(flipud、fliplr、Flipdim)和旋轉(zhuǎn)(

35、rot90)等各種操作。</p><p>  對(duì)圖像進(jìn)行不同類型的鏡像變換:</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)); %對(duì)角鏡像變換</p><

39、;p>  I3=uint8(I_fliplr_flipud);</p><p>  subplot(224);imshow(I3);</p><p>  title('對(duì)角鏡像變換')</p><p>  運(yùn)行程序,效果如圖3.3所示。</p><p>  圖3.3 鏡像變換圖像</p><p>

40、<b>  3.4 旋轉(zhuǎn)變換</b></p><p>  旋轉(zhuǎn)變換主要采用imrotate函數(shù)</p><p>  函數(shù)功能:對(duì)圖像進(jìn)行旋轉(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ù)矩陣)繞圖像的中心點(diǎn)旋轉(zhuǎn)angle度, 正數(shù)表示逆時(shí)針旋轉(zhuǎn), 負(fù)數(shù)表示順時(shí)針旋轉(zhuǎn)。返回旋轉(zhuǎn)后的圖像矩陣。 以這種格式調(diào)用該函數(shù), 該函數(shù)默認(rèn)采用最近鄰線性插值(Nearest-neighbor interpolation)。旋轉(zhuǎn)后的圖像超出的部分填充0(黑色)。</p><

42、;p>  B = imrotate(A,angle,method)</p><p>  使用method參數(shù)可以改變插值算法,method參數(shù)可以為下面這三個(gè)值:</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': 通過(guò)對(duì)旋轉(zhuǎn)后的圖像B進(jìn)行裁剪, 保持旋轉(zhuǎn)后輸出圖像B的尺寸和輸入圖像A的尺寸一樣。</p><p>  {'loose'}: 使輸出圖像足夠大, 以保證源圖像旋轉(zhuǎn)后超出圖像尺寸范圍的像素值沒(méi)有丟失。 一般上這種格式產(chǎn)生的圖像的尺寸都要大于源圖像的尺寸。</p><p>  將圖像逆時(shí)針旋轉(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('逆時(shí)針旋轉(zhuǎn)30 度')</p><p>  運(yùn)行程序,效果如圖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ù)用于對(duì)圖像做縮放處理。在matlab的命令窗口中輸入doc imresize或者h(yuǎn)elp imresize即可獲得該函數(shù)的幫助信息。</p><

48、p><b>  調(diào)用格式</b></p><p>  B = imresize(A, scale)</p><p>  返回的圖像B的長(zhǎng)寬是圖像A的長(zhǎng)寬的m倍。即縮放圖像。 m大于1, 則放大圖像; m小于1, 縮小圖像。</p><p>  B = imresize(A, [numrows numcols])</p>&l

49、t;p>  numrows和numcols分別指定目標(biāo)圖像的高度和寬度。 顯而易見(jiàn), 由于這種格式允許圖像縮放后長(zhǎng)寬比例和源圖像長(zhǎng)寬比例不相同,因此所產(chǎn)生的圖像有可能發(fā)生畸變。</p><p>  [Y newmap] = imresize(X, map, scale)</p><p>  [...] = imresize(..., method)</p>&

50、lt;p>  method參數(shù)用于指定在改變圖像尺寸時(shí)所使用的算法, 可以為一下幾種:</p><p>  'nearest': 這個(gè)參數(shù)也是默認(rèn)的, 即改變圖像尺寸時(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'); %最近鄰法標(biāo)志函數(shù)nearest 擴(kuò)大1.5倍</p><p>  subplot(13

53、2);imshow(uint8(I_en)); %顯示擴(kuò)大1.5倍后的圖像</p><p>  I_re=imresize(I,0.5,'nearest'); %縮小兩倍</p><p>  subplot(133);imshow(uint8(I_re));%顯示縮小0.5 倍后的圖像</p><p>  運(yùn)行程序,效果如圖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、 運(yùn)行程序,效果如圖3.8所示。</p><p>  圖3.8 不同插值放大圖像</p><p><b>  4總結(jié)與分析</b></p><p>  Matlab作為一個(gè)極其強(qiáng)大的計(jì)算平臺(tái),擁有許多優(yōu)勢(shì),在對(duì)圖像進(jìn)行處理時(shí),可以看做是對(duì)于矩陣的運(yùn)算,通過(guò)不同的函數(shù)運(yùn)算,可以達(dá)到不同效果。</p><p>  本次設(shè)計(jì)主

59、要對(duì)于圖像進(jìn)行四種變換,分別是平移、鏡像、旋轉(zhuǎn)、縮放。</p><p>  在平移操作中,可以通過(guò)move函數(shù)更改每個(gè)像素的點(diǎn)位置,通過(guò)手動(dòng)更改(x,y)參數(shù)控制水平豎直方向的移動(dòng)距離。</p><p>  在鏡像試驗(yàn)中,主要應(yīng)用fliplr、flipud兩種函數(shù)進(jìn)行反轉(zhuǎn),其本質(zhì)仍然是矩陣的翻轉(zhuǎn)。在對(duì)角線翻轉(zhuǎn)時(shí),可以看做先進(jìn)行水平方向的翻轉(zhuǎn)在進(jìn)行水平防線的翻轉(zhuǎn)。</p>&l

60、t;p>  翻轉(zhuǎn)變換操作同樣是對(duì)像素的(x,y)進(jìn)行運(yùn)算和重排布,以達(dá)到整體翻轉(zhuǎn) 效果。</p><p>  圖像的縮放變換通過(guò)全比例縮放對(duì)像素進(jìn)行舍棄或補(bǔ)充性運(yùn)算,放大過(guò)程中填充的像素均是由附近像素灰度值等信息計(jì)算出來(lái)的。</p><p>  值得一提的是,旋轉(zhuǎn)和縮放變換中,默認(rèn)算法是最鄰近差值法,也就是令變換后像素的灰度值等于距它最近的輸入像素的灰度值,我在縮放變換中加入了最鄰近

61、插值法和雙線性插值法(其核心思想是在兩個(gè)方向分別進(jìn)行一次線性插值,混合的比例與離像素的距離成反比)以及雙立方插值法(在每個(gè)維度上對(duì)于連續(xù)的4個(gè)點(diǎn)進(jìn)行插值)的比較,比較的結(jié)果是最近鄰插值法鋸齒感明顯,色彩過(guò)渡也存在突變。雙線性插值法則優(yōu)于最近鄰插值法,雙立方插值法不僅考慮了周圍四個(gè)直接相鄰像素點(diǎn)灰度值的影響,還考慮到它們灰度值變化率的影響。因此克服了前兩種方法的不足之處,能夠產(chǎn)生比雙線性插值更為平滑的邊緣,計(jì)算精度很高,處理后的圖像像質(zhì)損

62、失最少,效果是最佳的。</p><p>  在進(jìn)行圖像縮放處理時(shí),應(yīng)根據(jù)實(shí)際情況對(duì)三種算法做出選擇,既要考慮時(shí)間方面的可行性,又要對(duì)變換后圖像質(zhì)量進(jìn)行考慮,這樣才能達(dá)到較為理想的結(jié)果。</p><p><b>  5心得體會(huì)</b></p><p>  通過(guò)此次的課程設(shè)計(jì),感觸頗深,因?yàn)樽屛艺J(rèn)識(shí)到了MATLAB的強(qiáng)大功能,同時(shí)也對(duì)圖像處理的認(rèn)識(shí)

63、有了進(jìn)一步的加深。</p><p>  在此次課程設(shè)計(jì)中我遇到了前所未有的難題。在此我非常感謝曾經(jīng)教育過(guò)我們的老師,是他們?cè)谄綍r(shí)教學(xué)中幫助我培養(yǎng)了良好的學(xué)習(xí)習(xí)慣和查閱新知識(shí),快速理解運(yùn)用新知識(shí)的能力。經(jīng)過(guò)一段時(shí)間的查閱和向老師的請(qǐng)教,我弄清楚了此時(shí)課程設(shè)計(jì)所需的全部原理知識(shí)。</p><p>  在編程的過(guò)程中,我也遇到了很多困難,所幸的是圖書(shū)館有相關(guān)書(shū)籍,網(wǎng)絡(luò)上有學(xué)長(zhǎng)學(xué)姐們做過(guò)的仿真作為

64、參考,有老師和同學(xué)們幫助我,于是我一步步實(shí)現(xiàn)了各個(gè)步驟的相關(guān)編程,并且在最后得以綜合整理,完成了此次的仿真任務(wù)。</p><p>  但是不得不說(shuō),此時(shí)課程設(shè)計(jì)由于時(shí)間和我的知識(shí)儲(chǔ)備的問(wèn)題,仍然有一些不完備的地方:在整個(gè)過(guò)程中雖然結(jié)果較為直觀,但我還有過(guò)將程序加上操作界面或者將畫(huà)面失真度量化等等想法,如果時(shí)間允許或有懂得更多的同學(xué)協(xié)助,應(yīng)該可以做得更好。</p><p>  盡管此時(shí)課程設(shè)

65、計(jì)仍然有很多不足,但是我在這個(gè)過(guò)程中加深了對(duì)各方面理論知識(shí)的了解,對(duì)我以后的學(xué)習(xí)工作產(chǎn)生了一定影響,十分感謝此次課程設(shè)計(jì)。 </p><p><b>  6參考文獻(xiàn)</b></p><p>  [1] 高展宏,徐文波.基于MATLAB的數(shù)字圖像處理案例教程.北京:清華大學(xué)</p><p><b>  版社,2011</b>

66、;</p><p>  [2] 賀興華等.MATLAB7.x圖像處理.北京:人民郵電出版社,2006</p><p>  [3] 陳杰.MATLAB寶典.北京:電子工業(yè)出版社,2007.</p><p>  [4] 張德豐. MATLAB數(shù)值分析與應(yīng)用. 北京:國(guó)防工業(yè)出版社,2009.</p><p>  [5] 岡薩雷斯.溫茨著.數(shù)字圖像

67、處理.2版.阮秋琦,等譯. 北京:電子工業(yè)出版</p><p><b>  社,2002.</b></p><p>  [6] 汪曉銀,鄒庭榮.數(shù)學(xué)軟件與數(shù)學(xué)實(shí)驗(yàn).武漢:華中農(nóng)業(yè)大學(xué)教務(wù)處,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)); %對(duì)角鏡像變換</p><p>  I3=uint8(I_fliplr_flipud);</p><p>  subpl

75、ot(224);imshow(I3);</p><p>  title('對(duì)角鏡像變換')</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(' 逆時(shí)

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'); %最近鄰法標(biāo)志函數(shù)nearest 擴(kuò)大1.5 倍</p><p>  subplot(132);imshow(uint8(I_en)); %顯示擴(kuò)大1.5 倍后的圖像</p><p>  tit

79、le(‘最近鄰法擴(kuò)大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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論