matlab課程設(shè)計(jì)(基于matlab的圖像處理的基本運(yùn)算)_第1頁
已閱讀1頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  學(xué)生姓名: 專業(yè)班級(jí): </p><p>  指導(dǎo)教師: 工作單位: </p><p>  題 目: 基于MATLAB的圖像處理

2、的基本運(yùn)算 </p><p><b>  初始條件</b></p><p><b>  MATLAB軟件</b></p><p>  數(shù)字信號(hào)處理與圖像處理基礎(chǔ)知識(shí) </p><p>  要

3、求完成的主要任務(wù):</p><p>  (1)能夠?qū)D像亮度和對(duì)比度變化調(diào)整,并比較結(jié)果。</p><p> ?。?)編寫程序通過最近鄰插值和雙線性插值等算法將用戶所選 取的 圖像區(qū)域進(jìn)行放大和縮小整數(shù)倍的和旋轉(zhuǎn)操作,并保存,比較幾種插值的效果 。</p><p>  (3)圖像直方圖統(tǒng)計(jì)和直方圖均衡,要求顯示直方圖統(tǒng)計(jì),比較直方圖均衡后的效果。</p>

4、;<p>  (4)對(duì)圖像加入各種噪聲,比較效果。</p><p><b>  時(shí)間安排:</b></p><p>  第1周:安排任務(wù),分組 第2-17周:設(shè)計(jì)仿真,撰寫報(bào)告</p><p>  第18周:完成設(shè)計(jì),提交報(bào)告,答辯 地點(diǎn): 鑒主3樓計(jì)算機(jī)實(shí)驗(yàn)室</p><p>

5、;  指導(dǎo)教師簽名: 2010年 月 日</p><p>  系主任(或責(zé)任教師)簽名: 2010年 月 日</p><p><b>  摘要</b></p><p>  MATLAB是—套高性能的數(shù)值計(jì)算和可視化軟件,它集數(shù)值分析、矩陣運(yùn)算、信號(hào)處理和圖形顯示于一體,

6、構(gòu)成—個(gè)方便的、界面友好的用戶環(huán)境。MATLAB強(qiáng)大的擴(kuò)展功能為各個(gè)領(lǐng)域的應(yīng)用提供了基礎(chǔ),由各個(gè)領(lǐng)域的專家相繼給出了MATLAB工具箱,其中主要有信號(hào)處理,控制系統(tǒng),神經(jīng)網(wǎng)絡(luò),圖像處助,魯棒控制, 非線性系統(tǒng)控制設(shè)計(jì),最優(yōu)化,小波,通信等工具箱,這此工具箱給各個(gè)領(lǐng)域的研究和工程應(yīng)用提供了有力的工具。借助于這些“巨人肩膀上的工具”,各個(gè)層次的研究人員可直現(xiàn)方便地進(jìn)行分析、計(jì)算及設(shè)計(jì)工作,從而大大地節(jié)省了時(shí)間。</p><

7、;p>  本次課程設(shè)計(jì)的目的在于較全面了解常用的數(shù)據(jù)分析與處理原理及方法,能夠運(yùn)用相關(guān)軟件進(jìn)行模擬分析。通過對(duì)采集的圖像進(jìn)行常規(guī)的圖像的亮度和對(duì)比度的調(diào)整,并進(jìn)行最近鄰插值和雙線性插值等算法將用戶所選取的圖像區(qū)域進(jìn)行放大和縮小整數(shù)倍的和旋轉(zhuǎn)操作,并保存,比較幾種插值的效果,以及對(duì)圖像進(jìn)行直方圖和直方圖均衡并加入噪聲進(jìn)行對(duì)比,達(dá)到本次課程設(shè)計(jì)的目的</p><p>  關(guān)鍵詞:MATLAB 亮度和對(duì)比度

8、 插值 放大 旋轉(zhuǎn) 噪聲</p><p><b>  Abstract</b></p><p>  MATLAB is - set of high-performance numerical computation and visualization software, which combines numerical analysis, matrix c

9、omputation, signal processing and graphics in one form - a convenient, user-friendly user environment.MATLAB is a powerful extension application in various fields to provide a basis by experts in various fields have been

10、 given a MATLAB toolbox, which are signal processing, control systems, neural networks, image processing support, robust control, nonlinearcontrol syst</p><p><b>  目 錄</b></p><p>  

11、1.MATLAB簡介1</p><p>  1.1 MATLA的基本用途1</p><p>  1.2 MATLAB的語言特點(diǎn)1</p><p>  1.3 MATLAB系統(tǒng)構(gòu)成1</p><p><b>  2.數(shù)據(jù)采集2</b></p><p>  2.1圖像的選取2</p&

12、gt;<p>  2.2 圖像亮度和對(duì)比度的調(diào)整2</p><p>  2.2.1 編輯M文件2</p><p>  2.2.2 MATLAB支持的圖像格式和類型3</p><p>  2.2.3 圖像的讀取3</p><p>  2.2.4調(diào)整圖像亮度和對(duì)比度4</p><p>  3.圖像的

13、幾何操作6</p><p><b>  3.1插補(bǔ)操作6</b></p><p>  3.1.1 插補(bǔ)功能介紹6</p><p>  3.1.2 插補(bǔ)具體操作6</p><p>  3.2 放縮操作8</p><p>  3.2.1放縮功能介紹8</p><p>

14、;  3.2.2 具體操作9</p><p>  3.3 旋轉(zhuǎn)操作10</p><p>  3.3.1 旋轉(zhuǎn)功能介紹10</p><p>  3.3.2 具體操作10</p><p>  4.直方圖統(tǒng)計(jì)12</p><p>  4.1灰度圖的獲取12</p><p>  4.1.1

15、灰度圖的轉(zhuǎn)換功能介紹12</p><p>  4.1.2 具體操作12</p><p>  4.2直方圖以及直方圖均衡13</p><p>  4.2.1 直方圖函數(shù)功能介紹13</p><p>  4.2.2 直方圖具體操作14</p><p>  5.圖像的噪聲處理15</p><p

16、>  5.1添加噪聲的功能介紹15</p><p>  5.2添加噪聲的具體操作16</p><p>  6.總結(jié)(心得體會(huì))18</p><p><b>  7.參考文獻(xiàn)19</b></p><p>  1.MATLAB簡介</p><p>  1.1 MATLA的基本用途<

17、/p><p>  MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)之意。除具備卓越的數(shù)值計(jì)算能力外,它還提供了專業(yè)水平的符號(hào)計(jì)算,文字處理,可視化建模仿真和實(shí)時(shí)控制等功能。經(jīng)過不斷完善,MATLAB已經(jīng)發(fā)展成為適合多學(xué)科,多種工作平臺(tái)的功能強(qiáng)大大大型軟件。成為線性代數(shù),自動(dòng)控制理論,數(shù)理統(tǒng)計(jì),數(shù)字信號(hào)處理,時(shí)間序列分析,動(dòng)態(tài)系統(tǒng)仿真等高級(jí)課程的基本教學(xué)工具。</p><p>  

18、1.2 MATLAB的語言特點(diǎn)</p><p>  (1).語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富。運(yùn)算符豐富。</p><p> ?。?).MATLAB既具有結(jié)構(gòu)化的控制語句(如for循環(huán),while循環(huán),break語句和 if語句),又有面向?qū)ο缶幊痰奶匦浴?lt;/p><p> ?。?)程序限制不嚴(yán)格,程序設(shè)計(jì)自由度大。</p><p>

19、; ?。?)MATLAB的圖形功能強(qiáng)大。</p><p>  (5)MATLAB的缺點(diǎn)是,它和其他高級(jí)程序相比,程序的執(zhí)行速度較慢。</p><p>  (6)由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序?yàn)榻忉寛?zhí)行,所以速度較慢。</p><p>  1.3 MATLAB系統(tǒng)構(gòu)成 </p><p>  主要由以下五

20、部分構(gòu)成:MATLAB系統(tǒng)構(gòu)成 (1) MATLAB語言 (2)MATLAB工作環(huán)境 (3)圖形處理 (4)MATLAB數(shù)學(xué)函數(shù)庫 (5)MATLAB應(yīng)用編程人員接口(API)&l

21、t;/p><p><b>  2 數(shù)據(jù)采集</b></p><p><b>  2.1圖像的選取</b></p><p>  從互聯(lián)網(wǎng)上下載一張圖片,圖像為彩圖,能夠滿足設(shè)計(jì)要求,如圖1所示。</p><p><b>  圖1 原彩色圖</b></p><p&g

22、t;  2.2 圖像亮度和對(duì)比度的調(diào)整</p><p>  2.2.1 編輯M文件</p><p>  MATLAB是解釋型語言,就是說MATLAB命令行中敲入的命令在當(dāng)前MATLAB進(jìn)程中被解釋運(yùn)行。為方便起見,有兩種方法可以使MATLAB的力量得到擴(kuò)展——腳本和函數(shù)。這兩種方法都用像emacs一樣的文本編輯器中編寫的m文件(因?yàn)閿U(kuò)展名是.m所以這樣命名,m文件還稱點(diǎn)m文件)。m文件的好

23、處在于它可以保存命令,還可以輕易地修改命令而無需重新敲入整個(gè)命令行。</p><p>  新建m文件的方法為File->New-> M-File。</p><p>  2.2.2 MATLAB支持的圖像格式和類型</p><p>  1、MATLAB支持的幾各圖像文件格式 :</p><p>  JPEG(Joint Photog

24、yaphic Expeyt Group):聯(lián)合圖像專家組的圖像壓縮格式。</p><p>  BMP(Windows Bitmap):有1位、4位、8位、24位非壓縮圖像,8位RLE(Run length Encoded)的圖像。</p><p>  TIFF(Tagged Network Graphics):處理1位、4位、8位、24位非壓縮圖像,1位、4位、8位、24位packbit壓

25、縮圖像,1位CCITT壓縮圖像等。</p><p>  PNG(Portable Network Graphics):處理1位、4位、8位、16位灰度圖像,8位和16位索引圖像,24位和48位真彩色圖像。</p><p>  GIF(Graphics Interchange Format):任何1位到8位的可交換的圖像。等等14種。</p><p>  2、MATL

26、AB支持五種圖像類型,即:</p><p> ?。?)二值圖像:Double數(shù)據(jù)——圖像為的整數(shù)矩陣,元素值范圍[0,1];unit8和unit16數(shù)據(jù)——圖像為的整數(shù)矩陣,元素值范圍[0,1]。</p><p> ?。?)索引圖像:Double數(shù)據(jù)——圖像為的整數(shù)矩陣,元素值范圍[0,p];unit8和unit16數(shù)據(jù)——圖像為的整數(shù)矩陣,元素值范圍[0,p-1];</p>

27、<p> ?。?)灰度圖像:Double數(shù)據(jù)——圖像為的浮點(diǎn)數(shù)矩陣,元素值范圍[0,1];unit8和unit16數(shù)據(jù)——圖像為的整數(shù)矩陣,元素值范圍[0,255]或[0,65535];</p><p> ?。?)RGB圖像:Double數(shù)據(jù)——圖像為的浮點(diǎn)數(shù)矩陣,元素值范圍[0,1];unit8和unit16數(shù)據(jù)——圖像為的整數(shù)矩陣,元素值范圍[0,255]或[0,65535];</p>

28、<p>  (5)多幀圖像陣列。</p><p>  2.2.3 圖像的讀取</p><p>  MATLAB為用戶提供了專門的函數(shù)以從圖像的格式的文件中讀寫圖像數(shù)據(jù)。這種方法不像其他的編程語言一樣,需要編寫復(fù)雜的代碼,只需要簡單的調(diào)用MATLAB提供的函數(shù)即可。</p><p>  利用函數(shù)imread()可完成圖形圖像文件的讀取,語法:</p

29、><p>  a=imread(filename,fmt)</p><p>  [X,map]=imread(filename,fmt)</p><p>  [...]=imread(filename)</p><p>  [...]=imread(filename,idx) (只對(duì)TIF格式的文件)</p><p>  

30、[...]=imread(filename,ref) (只對(duì)HDF格式的文件)</p><p>  2.2.4調(diào)整圖像亮度和對(duì)比度</p><p>  MATLAB中的圖像調(diào)整技術(shù)用于圖像的改善。此處的改善有兩方面的含義:客觀方面,可以提高圖像的信噪比;主觀方面,通過修正圖像的亮度和對(duì)比度是某些特征更加容易辨認(rèn),。為了調(diào)整圖像的亮度和對(duì)比度,利用MATLAB中的J = imadjust(I

31、,[low_in; high_in],[low_out; high_out],gamma)命令實(shí)現(xiàn)圖像的亮度和對(duì)比度調(diào)整。</p><p>  關(guān)于這條命令的說明如下所示:</p><p>  將圖像I中的亮度值映射到J中的新值,即將low_in至hige_in之間的值映射到low_out至high_out之間的值。low_in 以下與 high_in 以上的值被剪切掉了,也就是說,low

32、_in 以下的值映射到 low_out,high_in 以上的值映射到high_out。它們都可以使用空的矩陣[],默認(rèn)值是[0 1]。 Matlab中文論壇 將圖像 I 中的亮度值映射到 J 中的新值,其中 gamma指定描述值I和值J關(guān)系的曲線形狀。如果gamma小于1,此映射偏重更高數(shù)值(明亮)輸出,如果gamma大于1,此映射偏重更低數(shù)值(灰暗)輸出,如果省略此參數(shù),默認(rèn)為(線性映射)。 </p><

33、;p>  相關(guān)的MATLAB命令為:</p><p>  a=imread('E:/北戴河.jpg'); %讀取圖像路徑</p><p><b>  figure,</b></p><p>  subplot(1,3,1)</p><p>  imshow(a);

34、 %顯示圖像</p><p>  title('原彩色圖像')</p><p>  K = imadjust(a,[0.3 0.7],[0.8 1]); %將圖像調(diào)的明亮</p><p>  subplot(1,3,2)</p><p>  imshow(K);</p><p>  title(&

35、#39;明亮的圖像')</p><p>  J = imadjust(a,[0.3 0.7],[0 0.2]); %將圖像調(diào)的灰暗</p><p>  subplot(1,3,3)</p><p>  imshow(J);</p><p>  title('灰暗的圖像') </p><p>

36、;  這段命令可以原彩圖讀取和對(duì)圖像的亮度和對(duì)比度的調(diào)整使得圖像變得明亮和灰暗。</p><p>  調(diào)整后的結(jié)果如下圖2所示。</p><p>  圖2 圖像亮度和對(duì)比度的調(diào)整</p><p>  由上面的處理結(jié)果可以看出,經(jīng)過圖像的亮度和對(duì)比度調(diào)整之后,圖像的亮度和對(duì)比度發(fā)生了明顯的變化。將圖像 I 中的亮度值映射到 J 中的新值,其中 gamma指定描述值I和

37、值J關(guān)系的曲線形狀。如果gamma小于1,此映射偏重更高數(shù)值(明亮)輸出,如果gamma大于1,此映射偏重更低數(shù)值(灰暗)輸出。和理論結(jié)果一致。</p><p><b>  3圖像的幾何操作</b></p><p>  MATLAB圖像處理工具箱中提供了一些基本的圖像處理工具,包括幾何操作函數(shù)。這些函數(shù)支持所有的圖像類型。利用它們,可以對(duì)圖像進(jìn)行插值,縮放和旋轉(zhuǎn)等幾何

38、操作。</p><p><b>  3.1插補(bǔ)操作</b></p><p>  3.1.1 插補(bǔ)功能介紹</p><p>  MATLAB中的immerize函數(shù)用于圖像的插補(bǔ)。MATLAB工具箱中提供了3種插補(bǔ)操作。分別為'nearest'(默認(rèn)值)最近鄰插值,'bilinear'雙線性插值',bicu

39、bic'雙三次插值。這三種插補(bǔ)方法的運(yùn)算方式基本類似。對(duì)于每一種來說。為了確定插補(bǔ)像素點(diǎn)的數(shù)據(jù)值,用戶必須在輸入的圖像中查找到與輸出像素對(duì)應(yīng)的點(diǎn)。這三種插補(bǔ)的方法區(qū)別在于其對(duì)像素點(diǎn)顛覆值的不同。</p><p>  對(duì)于最近鄰插值來說,輸出像素的賦值為當(dāng)前點(diǎn)的像素點(diǎn)。對(duì)于雙線性插值來說,輸出像素的賦值為2X2矩陣所包含的有效點(diǎn)的加權(quán)平均值。對(duì)于雙三次插值來說,輸出像素的賦值為4X4矩陣所包含的有效點(diǎn)的加權(quán)

40、平均值。這里的像素的數(shù)目直接影響了運(yùn)算過程的復(fù)雜度。因此雙線性插補(bǔ)的方法需要的運(yùn)算時(shí)間比鄰插補(bǔ)方法需要的時(shí)間長。同樣雙三次插值比雙線性插補(bǔ)方法需要的時(shí)間要長。</p><p>  3.1.2 插補(bǔ)具體操作</p><p>  輸入MATLAB命令: k =imresize(a,1,method); 根據(jù)method的不同,可以對(duì)圖像進(jìn)行不同方式的插值方式。</p><

41、;p>  最近鄰插值具體程序如下所示:</p><p>  a=imread('E:/北戴河.jpg'); %讀取圖像路徑</p><p><b>  figure,</b></p><p>  subplot(1,2,1)</p><p>  imshow(a);

42、 %顯示圖像</p><p>  title('原彩色圖像')</p><p>  k =imresize(a,1); </p><p>  subplot(1,2,2)</p><p>  imshow(k);</p><p>  title('最近鄰插入圖像') </

43、p><p>  最近鄰插值輸出的圖像如圖3所示:</p><p>  圖3 最近鄰插值輸出</p><p>  雙線性插值具體程序如下所示:</p><p>  a=imread('E:/北戴河.jpg'); %讀取圖像路徑</p><p><b>  figure,</b>

44、;</p><p>  subplot(1,2,1)</p><p>  imshow(a); %顯示圖像</p><p>  title('原彩色圖像') </p><p>  J =imresize(a,1,'bilinear'); </p><p>

45、  subplot(1,2,2)</p><p>  imshow(J);</p><p>  title('雙線性插入圖像')</p><p>  雙線性插值輸出的圖像如圖4所示:</p><p><b>  圖4 雙線性插值</b></p><p>  三線性插值具體程序如下

46、所示: </p><p>  a=imread('E:/北戴河.jpg'); %讀取圖像路徑</p><p><b>  figure,</b></p><p>  subplot(1,2,1)</p><p>  imshow(a); %顯

47、示圖像</p><p>  title('原彩色圖像')</p><p>  l =imresize(a,1,'bicubic'); </p><p>  subplot(1,2,2)</p><p>  imshow(l);</p><p>  title('三線性插入圖像&#

48、39;)</p><p>  雙三次插值輸出的圖像如圖5所示:</p><p>  圖5 雙三次插值圖像輸出</p><p>  由上面的處理結(jié)果可以看出,經(jīng)過不同的插值處理運(yùn)算后,根據(jù)插值的計(jì)算方法的不同,得到的圖像顯示結(jié)果出來的時(shí)間不一致,算法越復(fù)雜,所需要得到結(jié)果的時(shí)間越長。</p><p><b>  3.2 放縮操作&l

49、t;/b></p><p>  3.2.1放縮功能介紹</p><p>  MATLAB影像工具箱中的immersize函數(shù)可以通過一種特定的插補(bǔ)方法來改變圖像的大小。該函數(shù)的語法如下面所述:</p><p>  B=immersize(A,m,method)。</p><p>  如果用戶沒有指定插補(bǔ)方法,則該函數(shù)將采用缺省的近鄰插補(bǔ)

50、方法。另外,我們還可以根據(jù)指定的放大系數(shù)來改變圖像的大小。例如,下面的代碼可以將X中的像素?cái)?shù)目增加一倍。Y=immersize(X,2)。其中2為放大的系數(shù)。如果希望縮小系數(shù),只需將放大系數(shù)設(shè)置在0到1之間即可。</p><p>  3.2.2 具體操作</p><p>  輸入MATLAB命令:immersize(A,m,method),根據(jù)m的不同,可以得到不同的圖像大小。</p

51、><p><b>  下面是具體的程序:</b></p><p>  a=imread('E:/北戴河.jpg'); %讀取圖像路徑</p><p><b>  figure,</b></p><p>  subplot(1,3,1)</p><p>

52、  imshow(a); %顯示圖像</p><p>  title('原彩色圖像')</p><p>  k =imresize(a,0.1); </p><p>  subplot(1,3,2)</p><p>  imshow(k);</p><p>  title(&

53、#39;縮小后的圖像') </p><p>  J =imresize(a,3,'bilinear'); </p><p>  subplot(1,3,3)</p><p>  imshow(J);</p><p>  title('放大后的圖像')根據(jù)上面的程序,可以得到下面的圖像:</p&g

54、t;<p><b>  圖6 放大和縮小圖</b></p><p><b>  3.3 旋轉(zhuǎn)操作</b></p><p>  3.3.1 旋轉(zhuǎn)功能介紹</p><p>  在MATLAB處理工具箱中的imrotate函數(shù)可以通過一種特定的插補(bǔ)方法來改變圖像顯示的角度。該函數(shù)的語法如下所示:</p>

55、<p>  B=imrotate(A,angle,method)</p><p>  該函數(shù)以圖像中心點(diǎn)為基準(zhǔn),以角度 angle 逆時(shí)針方向旋轉(zhuǎn)。指定 angle 為負(fù)值,可實(shí)現(xiàn)圖像順時(shí)針旋轉(zhuǎn)。</p><p>  該函數(shù)是旋轉(zhuǎn)圖像 A ,使用指定的差值方法, method 是可以有下列值之一的一個(gè)文本字符串,默認(rèn)值是包含在大括號(hào)({}).</p><p

56、>  如果用戶沒有指定插補(bǔ)方法,則該函數(shù)將采用缺省的近鄰插補(bǔ)方法。另外,用戶還需指定旋轉(zhuǎn)的角度。</p><p>  3.3.2 具體操作</p><p>  輸入MATLAB命令:B=imrotate(A,angle,method)得到旋轉(zhuǎn)圖像,根據(jù)angle的不同,得到的旋轉(zhuǎn)角度也不同。</p><p><b>  下面是具體的程序:</b

57、></p><p>  a=imread('E:/北戴河.jpg'); %讀取圖像路徑</p><p><b>  figure,</b></p><p>  subplot(2,2,1)</p><p>  imshow(a); %顯示圖像</p>

58、;<p>  title('原彩色圖像')</p><p>  J=imrotate(a,90); </p><p>  subplot(2,2,2)</p><p>  imshow(J);</p><p>  title('逆時(shí)針旋轉(zhuǎn)90度') </p><p>  K

59、=imrotate(a,-90); </p><p>  subplot(2,2,3)</p><p>  imshow(K);</p><p>  title('順時(shí)針旋轉(zhuǎn)90度')</p><p>  L=imrotate(a,45); </p><p>  subplot(2,2,4)</p

60、><p>  imshow(L);</p><p>  title('逆時(shí)針旋轉(zhuǎn)45度')</p><p>  根據(jù)上面的程序,可以得到下面的圖像:</p><p><b>  圖7 旋轉(zhuǎn)圖像</b></p><p><b>  4.直方圖統(tǒng)計(jì)</b></p

61、><p>  在MATLAB處理工具箱中有imhist函數(shù),可以用這個(gè)函數(shù)對(duì)圖像進(jìn)行直方圖統(tǒng)計(jì),至于圖像的均衡處理,可以采用histeq這個(gè)函數(shù),但是這兩個(gè)函數(shù)只是適用于二維圖像,因而我們?cè)诓僮鞯倪^程中首先得對(duì)圖像進(jìn)行灰度圖的轉(zhuǎn)換。</p><p><b>  4.1灰度圖的獲取</b></p><p>  4.1.1 灰度圖的轉(zhuǎn)換功能介紹<

62、/p><p>  灰度圖像保存在—個(gè)矩陣中,矩陣的每個(gè)元素代表—個(gè)像素點(diǎn)。矩陣可以是雙精度類型,值域?yàn)閇0,1],也可以為uint8類型,其數(shù)據(jù)范圍為[0,256],矩陣的每個(gè)元素值代表不同的亮度或灰度級(jí),亮度值為0表示黑色;亮度值為1代表白色。</p><p>  為了轉(zhuǎn)換為灰度圖,利用MATLAB中的rgb2gray()命令實(shí)現(xiàn)RGB圖像到灰度圖像的轉(zhuǎn)化。轉(zhuǎn)化后在使用命令isgray()判

63、斷圖像是否變?yōu)榛叶葓D,如果是灰度圖將返回為1,不是將返回0?;叶葓D轉(zhuǎn)換成功后,將轉(zhuǎn)化后的灰度圖讀取出來。</p><p>  4.1.2 具體操作</p><p>  輸入MATLAB中的rgb2gray()命令實(shí)現(xiàn)RGB圖像到灰度圖像的轉(zhuǎn)化。</p><p><b>  下面是具體的程序:</b></p><p>  

64、a=imread('E:/北戴河.jpg'); %讀取圖像路徑</p><p><b>  figure,</b></p><p>  subplot(1,2,1)</p><p>  imshow(a); %顯示圖像</p><p>  title('原彩

65、色圖像')</p><p>  k =rgb2gray(a); </p><p>  isgray(k);</p><p>  subplot(1,2,2)</p><p>  imshow(k);</p><p>  title('灰度圖像')</p><p>  根據(jù)

66、上面的程序,可以得到下面的圖像:</p><p><b>  圖8 灰度圖的獲取</b></p><p>  4.2直方圖以及直方圖均衡</p><p>  前面已經(jīng)提到過可以采用imhist函數(shù)和histeq函數(shù),對(duì)圖像進(jìn)行直方圖統(tǒng)計(jì)以及圖像的均衡處理。下面對(duì)其功能分別進(jìn)行介紹:</p><p>  4.2.1 直方圖

67、函數(shù)功能介紹</p><p>  imhist(I)顯示圖像I的直方圖,圖像的灰度數(shù)由圖像類型指定,如果I為灰度圖像,imhist使用一個(gè)默認(rèn)的256值,如果I為二值圖像,imhist則使用2值。imhist(I, n)計(jì)算和顯示圖像I的直方圖,n為指定的灰度級(jí)數(shù)目,默認(rèn)為256。如果I是二值圖像,那么n僅有兩個(gè)值。</p><p>  J = histeq(I, hgram) 實(shí)現(xiàn)了所謂

68、"直方圖規(guī)定化",即將原是圖象 I 的直方圖變換成用戶指定的向量 hgram 。 J = histeq(I, n) 均衡化后的級(jí)數(shù)n,缺省值為64。</p><p>  [J, T] = histeq(I,...) 返回能將圖像I的灰度直方圖變換為圖像J的直方圖的變換T。 [newmap, T] = histeq(X,...) 是針對(duì)索引色圖像調(diào)色板的直方圖均衡。<

69、;/p><p>  4.2.2 直方圖具體操作</p><p>  分別輸入MATLAB中的imhist和histeq命令實(shí)現(xiàn)對(duì)圖像進(jìn)行直方圖統(tǒng)計(jì)以及圖像的均衡處理 。 下面是具體的程序:</p><p>  a=imread('E:/北戴河.jpg'); %讀取圖像路徑</p><p>  k =rgb2gray(a);

70、 </p><p>  isgray(k);</p><p>  x=imhist(k);</p><p>  x1=x(1:10:256);</p><p>  horz=(1:10:256);</p><p><b>  figure,</b></p><p>  su

71、bplot(1,2,1)</p><p>  bar(horz,x1);</p><p>  title('直方圖')</p><p>  subplot(1,2,2)</p><p>  histeq(k);</p><p>  title('直方圖均衡圖像')</p>

72、<p>  根據(jù)上面的程序,可以得到下面的圖像:</p><p><b>  圖9 直方圖均衡</b></p><p>  由上面的處理結(jié)果可以看出,經(jīng)過均衡化處理之后的結(jié)果與原來的圖像相比較對(duì)比度發(fā)生了明顯的變化。</p><p><b>  5.圖像的噪聲處理</b></p><p&g

73、t;  在實(shí)際的情況中,數(shù)字化的圖像可能有一些無關(guān)信息,即所謂的噪聲。由于圖像的創(chuàng)建方式的不同。所以噪聲的來源也不盡相同,例如:</p><p>  如果圖像是通過照片掃描而來的,則照片的表面粗造的顆粒就是一個(gè)噪聲源,另外,噪聲還可能由于照片損壞或掃描儀本身所致。如果圖像直接通過數(shù)字方式產(chǎn)生的,則搜集數(shù)據(jù)的機(jī)制就可能帶來噪聲。圖像的電子轉(zhuǎn)換設(shè)備也可能帶來噪聲。</p><p>  按照噪聲

74、的來源不同,噪聲一般可以分為高斯噪聲,泊松噪聲,椒鹽噪聲</p><p>  和乘性噪聲等。在課程設(shè)計(jì)過程中,我處理僅為提到的噪聲。</p><p>  5.1添加噪聲的功能介紹</p><p>  在圖像的處理過程中,我們采用的是J = imnoise(I,type)這條命令。</p><p>  向亮度圖I中添加指定類型的噪聲。type是

75、字符串,可以是以下值。</p><p>  ''gaussian''(高斯噪聲);''poisson''(泊松噪聲);''salt&pepper''(椒鹽噪聲);''speckle''(乘性噪聲)</p><p>  J = imnoise(I,type,

76、parameters) </p><p>  根據(jù)噪聲類型,可以確定該函數(shù)的其它參數(shù)。所有的數(shù)值參數(shù)都進(jìn)行歸一化處理,它們對(duì)應(yīng)于亮度從0到1的圖像操作。</p><p>  J = imnoise(I,'gaussian',m,v) book.iLoveMatlab.cn</p><p>  將均值為m,方差為v的高斯噪聲添加到圖像I中。默認(rèn)值為均值

77、是0,方差是0.01的噪聲。</p><p>  J = imnoise(I,'poisson') </p><p>  從數(shù)據(jù)中生成泊松噪聲,而不是將人工的噪聲添加到數(shù)據(jù)中。為了遵守泊松統(tǒng)計(jì),uint8類和uint16類圖像的亮度必須和光子的數(shù)量相符合。每當(dāng)像素的光子數(shù)大于65535(但小于10e12)時(shí),就要使用雙精度圖像。亮度值在0和1之間變化,并且對(duì)應(yīng)于光子的數(shù)量除

78、以10e12 </p><p>  J = imnoise(I,'salt & pepper',d)</p><p>  用椒鹽噪聲污染圖像I,其中d是噪聲密度。因此,大約有d*numel(f)個(gè)像素受到了影響。默認(rèn)的噪聲密度為0.05. </p><p>  J = imnoise(I,'speckle',v) </p

79、><p>  用方程g=f+n*f將乘性噪聲添加到圖像I上,其中n是均值為0,方差為v的均勻分布的隨機(jī)噪聲。v的默認(rèn)值為0.04. </p><p>  5.2添加噪聲的具體操作</p><p>  輸入MATLAB命令:J = imnoise(I,type),根據(jù)type的不同,可以得到添加不同噪聲之后的圖像。</p><p>  具體的程序如

80、下所示:</p><p>  a=imread('E:/北戴河.jpg'); %讀取圖像路徑</p><p>  A = imnoise(a,'gaussian');</p><p>  subplot(2,2,1)</p><p>  imshow(A);</p><p> 

81、 title('加高斯噪聲圖像') </p><p>  B = imnoise(a,'poisson');</p><p>  subplot(2,2,2)</p><p>  imshow(B);</p><p>  title('加泊松噪聲圖像')</p><p&g

82、t;  C = imnoise(a,'salt & pepper');</p><p>  subplot(2,2,3)</p><p>  imshow(C);</p><p>  title('加椒鹽噪聲圖像')</p><p>  D = imnoise(a,'speckle')

83、;</p><p>  subplot(2,2,4)</p><p>  imshow(D);</p><p>  title('加乘性噪聲圖像')</p><p>  根據(jù)上面的程序可以得到下面的圖像:</p><p>  圖8 加入各種噪聲后的圖像</p><p>  由

84、上面的處理結(jié)果可以看出,經(jīng)過圖像的加噪聲處理之后,圖像顯示出了不同的程度的損壞,而這種損害正是我們?cè)趯?shí)際的過程中遇到的,根據(jù)這些加入噪聲之后顯示結(jié)果的不同,我們可以借此來解決對(duì)實(shí)際應(yīng)用問題,從而達(dá)到理論與實(shí)際相結(jié)合的效果。由于加入噪聲之后可以通過調(diào)用MATLAB函數(shù)可對(duì)濾波來消除,因而增加了其實(shí)際價(jià)值,由于時(shí)間關(guān)系,這里就不再對(duì)圖像的濾波處理進(jìn)行贅述。</p><p>  6 總結(jié)(心得體會(huì))</p>

85、<p>  這次的課程設(shè)計(jì)結(jié)束了,雖然開始的時(shí)候不知道有點(diǎn)棘手,不知該怎么樣達(dá)到要求,完成設(shè)計(jì),但是經(jīng)過一步步的摸索和總結(jié),最后總算完成了這次任務(wù)。這次課程設(shè)計(jì)主要是讓我們學(xué)習(xí)使用MATLAB,利用對(duì)圖像的處理來學(xué)習(xí)MATLAB這個(gè)軟件。</p><p>  通過課程設(shè)計(jì),我認(rèn)識(shí)到了MATLAB功能非常的強(qiáng)大,使得我們?cè)谑褂玫臅r(shí)候用戶直接調(diào)用這些庫函數(shù)并賦予實(shí)際參數(shù)就能解決實(shí)際問題,具有極高的變成效

86、率。我也熟悉了MATLAB的工作環(huán)境,可以很熟練的對(duì)MATLAB進(jìn)行常規(guī)的操作,快速進(jìn)行程序編輯和仿真。</p><p>  完成任務(wù)后才發(fā)現(xiàn)這次訓(xùn)練的內(nèi)容并不算難。首先要做的工作就是如何把圖像信息寫入到MATLAB中,其次就是對(duì)圖像的信息進(jìn)行分析,主要是得出圖像的一些參數(shù),通過對(duì)采集的圖像進(jìn)行常規(guī)的圖像的亮度和對(duì)比度的調(diào)整,并進(jìn)行最近鄰插值和雙線性插值等算法將用戶所選取的圖像區(qū)域進(jìn)行放大和縮小整數(shù)倍的和旋轉(zhuǎn)操作

87、,并保存,比較幾種插值的效果,以及對(duì)圖像進(jìn)行直方圖和直方圖均衡并加入噪聲進(jìn)行對(duì)比。以上的內(nèi)容全都要通過程序的編寫來完成,不過主要的操作是對(duì)函數(shù)的調(diào)用,這就要我們熟悉MATLAB的一些函數(shù)的基本功能以及它們的基本語句。當(dāng)然,經(jīng)過了這次課程設(shè)計(jì),我也發(fā)現(xiàn)了自己的很多不足。但是通過自己的動(dòng)手動(dòng)腦,既增加了知識(shí),又給了我專業(yè)知識(shí)以及專業(yè)技能上的提升,我也會(huì)更加努力,認(rèn)真學(xué)習(xí),爭取在以后的課程中做得更好!</p><p>

88、<b>  7參考文獻(xiàn)</b></p><p>  [1] 王洪元主編.《MATLAB語言以及在電子信息工程中的應(yīng)用》.清華出版社. 2004.12</p><p>  [2] 飛思科技研發(fā)中心,MATLAB6.5 輔助圖像處理,.北京,電子工業(yè)出版社,2003</p><p>  [3] 樓順天,基于MATLAB的系統(tǒng)分析與設(shè)計(jì)——信號(hào)處理,

89、西安,西安電子科技大學(xué)出版社,1998.3</p><p>  [4] 李文鋒,圖形圖像處理與應(yīng)用,中國標(biāo)準(zhǔn)出版社,北京,2006</p><p>  [5] 李文鋒編著.《圖形圖像處理與應(yīng)用》.中國標(biāo)準(zhǔn)出版社.2006.06</p><p>  [6] 賀興華等著.《MATLAB7.X圖像處理》.人民郵電出版社.2006.11.01</p><

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論