Matlab學年論文_第1頁
Matlab學年論文_第2頁
Matlab學年論文_第3頁
Matlab學年論文_第4頁
Matlab學年論文_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Matlab學年論文論文題目:基于Matlab的數(shù)字圖像處理學 院:年 級:專 業(yè):姓 名:學 號: 2011年6 月19 日摘 要數(shù)字圖像處理是一門新興技術,隨著計算機硬件的發(fā)展,數(shù)字圖像的實時處理已經成為可能,由于數(shù)字圖像處理的各種算法的出現(xiàn),使得其處理速度越來越快,能更好的為人們服務。數(shù)字圖像處理是一種通過計算機采用一定的算法對圖形圖像進行處理的技術。數(shù)字圖像處理技術已經在各個領域上都有了比較廣泛的應用。圖像處理的信息量很大,對處理速度的要求也比較高。MATLAB強大的運算和圖形展示功能,使圖像處理變得更加的簡單和直觀。本文介紹了MATLAB 語言的特點,基于MATLAB的數(shù)字圖像處理環(huán)

2、境,介紹了如何利用MATLAB及其圖像處理工具箱進行數(shù)字圖像處理,并通過一些例子來說明利用MATLAB圖像處理工具箱進行圖像處理的方法。主要論述了利用MATLAB實現(xiàn)圖像增強、二值圖像分析等圖像處理。關鍵詞MATLAB,數(shù)字圖像處理,圖像增強,二值圖像Abstract Digital image processing is an emerging technology, with the development of computer hardware, real-time digital image processing has become possible due to dig

3、ital image processing algorithms to appear, making it faster and faster processing speed, better for People services .Digital image processing is used by some algorithms computer graphics image processing technology. Digital image processing technology has been in various areas have a relatively wid

4、e range of applications. Image processing large amount of information on the processing speed requirement is relatively high. MATLAB powerful computing and graphics display capabilities, so that image processing becomes more simple and intuitive. This paper introduces characteristics of MATLAB langu

5、age and this MATLAB-based digital image processing environment, describes how to use the MATLAB Image Processing Toolbox for its digital image processing, and through some examples to illustrate the use of MATLAB Image Processing Toolbox for image processing method. Mainly discusses the use of MATLA

6、B for image enhancement,2-numeric image and other image processing technologies.Keywords MATLAB, digital image processing,  image enhancement,2-numeric image目 錄摘要Abstract 一、 數(shù)字圖像處理的簡介1(一)什么是數(shù)字圖像1(二)數(shù)字圖像處理概述21.基本概念22.研究內容23.基本特點2(三) 圖像處理文件格式21.MATLAB圖像文件格式22.圖像類型3二 MATLAB基本知識介紹4(一

7、)MATLAB的概述4(二)MATLAB語言的特點4(三)MATLAB在圖像處理中的應用4三 圖像增強6(一)空域變換增強61.增強對比度62.圖像求反7(二)空域濾波增強91.基本原理92.線性平滑濾波器103.非線性平滑濾波器114.線性銳化濾波器12(三)頻域增強131.基本原理132.低通濾波133.高通濾波15四 二值圖像分析17(一) 二值形態(tài)學的基本運算17(二) 二值分析進行圖像處理綜合應用171.噪聲濾除17總結19參考文獻20致謝21一、數(shù)字圖像處理的簡介(一)什么是數(shù)字圖像所謂數(shù)字圖像就是把傳統(tǒng)圖像的畫面分割成的被稱為像素(picture element, 簡稱pixel

8、,有時候也用pel這一簡寫詞)的小的離散點,各像素的灰度值也是用離散值即整數(shù)值來表示的。為了從一般的照片,景物等模擬圖像中得到數(shù)字圖像,需要對傳統(tǒng)的模擬圖像進行采樣與量化兩種操作(二者統(tǒng)稱為數(shù)字化)。1、 采樣采樣(sampling)就是把在時間上和空間上連續(xù)的圖像變成離散點(采樣點,即像素)的集合的一種操作。通過采樣,如設橫向的像素數(shù)為M,縱向的像素數(shù)為N,則畫面的大小可以表示為“M*N”個像素。2、 量化經過采樣,圖像被分解成在時間上和空間上離散分布的像素,但是像素的值(灰度值)還是連續(xù)值。把這些連續(xù)的濃淡值或灰度值變?yōu)殡x散的值(整數(shù)值)的操作就是量化。如果把這些連續(xù)變化的值(灰度值)量化

9、為8bit,則灰度值被分成0-2552的256個級別,分別對應于各個灰度值的濃淡程度,叫做灰度等級或灰度標度。對連續(xù)的灰度值賦予量化級的,即灰度值方法有:均勻量化(uniform quantization),線性量化(liner quantization),對數(shù)量化,MAX量化,錐形量化(tapered quantization)等。3、 采樣、量化和圖像細節(jié)的關系上面的數(shù)字化過程,需要確定數(shù)值N和灰度級的級數(shù)K。在數(shù)字圖像處理中,一般都取成2的整數(shù)冪,即: (1.1) (1.2)一幅數(shù)字圖像在計算機中所占的二進制存儲位數(shù)b為: (1.3)由于數(shù)字圖像是連續(xù)圖像的近似,從圖像數(shù)字化的過程可以看

10、到。這種近似的程度主要取決于采樣樣本的大小和數(shù)量(N值)以及量化的級數(shù)K(或m值)。N和K的值越大,圖像越清晰。(二)數(shù)字圖像處理概述1、基本概念數(shù)字圖像處理(Digital Image Processing)是通過計算機對圖像進行去除噪聲、增強、復原、分割、提取特征等處理的方法和技術。2、研究內容數(shù)字圖像處理主要研究的內容有以下幾個方面:(1)圖像變換。(2)圖像編碼壓縮。(3)圖像增強和復原。(4)圖像分割。(5)圖像描述。(6)圖像分類(識別)。3、基本特點(1)數(shù)字圖像處理的信息大多是二維信息,處理信息量很大。因此對計算機的計算速度、存儲容量等要求較高。(2)數(shù)字圖像處理占用的頻帶較寬

11、。與語言信息相比,占用的頻帶要大幾個數(shù)量級。(3)數(shù)字圖像中各個像素是不獨立的,其相關性大。在圖像畫面上,經常有很多像素有相同或接近的灰度。(4)由于圖像是三維景物的二維投影,一幅圖象本身不具備復現(xiàn)三維景物的全部幾何信息的能力,很顯然三維景物背后部分信息在二維圖像畫面上是反映不出來的。因此,要分析和理解三維景物必須作合適的假定或附加新的測量。(5)數(shù)字圖像處理后的圖像一般是給人觀察和評價的,因此受人的因素影響較大。(三)圖像處理文件格式1、MATLAB圖像文件格式MATLAB支持以下幾種圖像文件格式:(1)PCX(Windows Paintbrush)格式??商幚?,4,8,16,24位等圖像

12、數(shù)據。文件內容包括:文件頭(128字節(jié)),圖像數(shù)據、擴展顏色映射表數(shù)據。(2)BMP(Windows Bitmap)格式。有1,4,8,24位非壓縮圖像,8位RLE(Run-length Encoded )圖像。(3)HDF(Hierarchical Data Format)格式。有8位,24位光柵數(shù)據集。(4)JPEG(Joint Photographic Experts Group)格式,是一種成為聯(lián)合圖像專家組的圖像壓縮格式。(5)TIFF(Tagged Image File Format)格式。處理1,4,8,24位非壓縮圖像,1,4,8,24位packbit壓縮圖像,一位CCITT壓

13、縮圖像等。(6)XWD(X Windows Dump)格式。1,8位Zpixmaps,XYbitmaps,1位XYpixmaps。(7)PNG(Portable Network Graphics)格式。2、圖像類型MATLAB中,一幅圖像可能包含一個數(shù)據矩陣,也可能包含一個顏色映射表矩陣。MATLAB中有四種基本的圖像類型:(1)索引圖像(2)灰度圖像(3)二進制圖像(4)RGB圖像四、MATLAB基本知識介紹(一)MATLAB的概述MATLAB 是MATrix LABoratory(“矩陣實驗室”)的縮寫,是由美國MathWorks 公司開發(fā)的集數(shù)值計算、符號計算和圖形可視化三大基本功能于一

14、體的,功能強大、操作簡單的語言。MATLAB的基本數(shù)據單位是矩陣,用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完相同的事情簡捷得多。MATLAB包括擁有數(shù)百個內部函數(shù)的主包和三十幾種工具包(Toolbox)。工具包又可以分為功能性工具包和學科工具包。(二)MATLAB語言的特點MATLAB最突出的特點就是簡潔。MATLAB用更直觀的,符合人們思維習慣的代碼,代替了C和FORTRAN語言的冗長代碼。MATLAB給用戶帶來的是最直觀,最簡潔的程序開發(fā)環(huán)境。以下簡單介紹一下MATLAB的主要特點。(1)語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富。(2)運算符豐富。(3)MATLAB既具有結

15、構化的控制語句(如for循環(huán),while循環(huán),break語句和if語句),又有面向對象編程的特性。(4)程序限制不嚴格,程序設計自由度大。(5)程序的可移植性很好,基本上不做修改就可以在各種型號的計算機和操作系統(tǒng)上運行。(6)MATLAB的圖形功能強大。(7)MATLAB的缺點是,它和其他高級程序相比,程序的執(zhí)行速度較慢。(8)功能強大的工具箱是MATLAB的另一特色。MATLAB包含兩個部分:核心部分和各種可選的工具箱。(9)源程序的開放性。開放性也許是MATLAB最受人們歡迎的特點。(三)MATLAB在圖像處理中的應用圖像處理工具包是由一系列支持圖像處理操作的函數(shù)組成的。下面就MATLAB

16、 在圖像處理中各方面的應用分別進行介紹。(1) 圖像文件格式的讀寫和顯示。(2) 圖像處理的基本運算。(3) 圖像變換。(4) 圖像的分析和增強。(5) 圖像的數(shù)學形態(tài)學處理。以上所提到的 MATLAB在圖像中的應用都是由相應的MATLAB函數(shù)來實現(xiàn)的,使用時,只需按照函數(shù)的調用語法正確輸入參數(shù)即可。三、圖像增強圖像增強是一類基本的圖像處理技術,其目的是對圖像進行加工,以得到對具體應用來說視覺效果更好、更有用的圖像。目前常用的增強技術根據其處理所進行的空間不同,可分為基于圖像域的方法和基于變化域的方法??沼蛟鰪姺椒杀硎緸椋篻(x,y)=EHf(x,y)其中f(x,y)和g(x,y)分別為增強

17、前后的圖像,EH代表增強操作。(一)空域變換增強1、增強對比度增強對比度實際是增強原圖像的各部分的反差。實際中往往是通過原圖中某兩個灰度值之間的動態(tài)范圍來實現(xiàn)的(如圖3-1)。圖3-1 增強對比度在圖3-1中可以看出,通過變換可以使原圖的較高的和較低的灰度值的動態(tài)范圍減小了,而原圖在二者之間的動態(tài)范圍增加了,從而其范圍的對比度增加了。MATLAB代碼所示:X1=imread('pout.tif');figure,imshow(X1)f0=0;g0=0;f1=70;g1=30;f2=180;g2=230;f3=255;g3=255;r1=(g1-g0)/(f1-f0);b1=g0

18、-r1*f0;r2=(g2-g1)/(f2-f1);b2=g1-r2*f1;r3=(g3-g2)/(f3-f2);b3=g2-r3*f2;m,n=size(X1);X2=double(X1);for i=1:m for j=1:n f=X2(i,j); g(i,j)=0; if(f>=0)&(f<=f1) g(i,j)=r1*f+b1; elseif (f>=f1)&(f<=f2) g(i,j)=r2*f+b2; elseif (f>=f2)&(f<=f3) g(i,j)=r3*f+b3; end endendfigure,imsho

19、w(mat2gray(g)圖像處理圖示(如圖3-2和圖3-3)圖3-2 原圖 圖3-3增強對比度所得圖像2、圖像求反對圖像求反是將原來的灰度值翻轉,簡單的說就是使黑變白,使白變黑。普通的黑白底片和照片就是這樣的關系。具體的變換就是將圖像中每個像素的灰度值根據變換曲線進行映射。MATLAB代碼所示:X1=imread('pout.tif');f1=200;g1=256;k=g1/f1;m,n=size(X1);X2=double(X1);for i=1:m for j=1:n f=X2(i,j); g(i,j)=0; if(f>=0)&(f<=f1) g(i,

20、j)=g1-k*f; else g(i,j)=0; end endendfigure,imshow(mat2gray(g)圖像處理圖如圖3-4所示:圖3-4 圖像求反后(二) 空域濾波增強一般情況下,像素的鄰域比該像素要大,也就是說這個像素的鄰域中除了本身以外還包括其他像素。在這種情況下,g(x,y)在(x,y)位置處的值不僅取決于f(x,y)在以(x,y)為中心的鄰域內所有的像素的值。為在鄰域內實現(xiàn)增強操作,??衫媚0迮c圖像進行卷積。每個模板實際上是一個二維數(shù)組,其中各個元素的取值定了模板的功能,這種模板操作也稱為空域濾波。1、基本原理空域濾波可分為線形濾波和非線形濾波兩類。線形濾波器的設

21、計?;趯Ω盗⑷~變換的分析。非線形空域濾波器則一般直接對鄰域進行操作。另外各種濾波器根據功能又主要分成平滑濾波和銳化濾波。平滑可用低通來實現(xiàn),銳化可用高通來實現(xiàn)平滑濾波器:它能減弱或消除傅立葉空間的高頻分量,但不影響在低頻分量。因為高頻分量對應圖像中的區(qū)域邊緣等灰度值具有較大較快變化的部分,濾波器將這些分量濾去可使圖像平滑。銳化濾波器:它能減弱或消除傅立葉空間的高頻分量空域濾波器都是利用模板卷積,主要步驟如下:(1)將模板在圖中漫游,并將模板中心與圖中某個像素位置重合;(2)將模板上的系數(shù)與模板下對應的像素相乘;(3)將所有的乘積相加;(4)將和(模板的輸出響應)賦給圖中對應的模板中心位置像素

22、。下面分別介紹在MATLAB中如何應用平滑和銳化濾波器。2、線性平滑濾波器線性低通濾波器是最常用的線性平滑濾波器。這種濾波器的所有系數(shù)都是正的。對3*3的模板來說,最簡單的操作是取所有系數(shù)都為1。為保證輸出圖像仍在原來的灰度范圍內,在計算R后要將其除以9再進行賦值。這種方法稱為鄰域平均法。MATLAB實現(xiàn)均值過濾器的代碼所示:I=imread('saturn.tif');J=imnoise(I,'salt & pepper',0.02);imshow(I)figure,imshow(J)K1=filter2(fspecial('average&#

23、39;,3),J)/255;figure,imshow(K1)title('3*3的均值濾波器')原圖像,加入椒鹽噪聲的圖像和均值濾波的圖像分別如圖3-5、圖3-6和圖3-7所示。圖3-5 原圖 圖3-6加入椒鹽噪聲圖像 圖3-7 3*3的均值濾波器處理結果3、非線性平滑濾波器中值濾波器是最常用的非線性平滑濾波器。它是一種臨域運算,類似于卷積,但計算的不是加權求和,而是把鄰域中的像素按灰度級進行排序,然后選擇改組的中間值作為輸出的像素值。具體步驟:(1)將模板在圖像中漫游,并將模板中心和圖像某個像素的位置重合;(2)讀取模板下對應像素的灰度值;(3)將這些灰度值從小到大排成一列

24、;(4)找出這些值排在中間的一個;(5)將這個中間值賦給對應模板中心位置的像素。MATLAB實現(xiàn)中值濾波器代碼所示:I=imread('saturn.tif');J=imnoise(I,'salt & pepper',0.02);K1=medfilt2(J,3,3);figure,imshow(K1)中值濾波的結果如圖3-8所示。圖3-8 中值濾波結果4、線性銳化濾波器線性高通濾波器是最常用的線性銳化濾波器。這種濾波器的中心系數(shù)都是正的,而周圍的系數(shù)都是負的。對3*3的模板來說,典型的系數(shù)取值是:-1 1 1;-1 8 1;-1 1 -1事實上這是拉普拉

25、斯算子,所有的系數(shù)之和為0。當這樣的模板放在圖像中灰度值是常數(shù)或變化很小的區(qū)域時,其輸出為0或很小。這個濾波器將原來的圖像中的零頻域分量去除了,也就是將輸出的圖像的平均值變?yōu)?,這樣就會有一部分像素的灰度值小于0。在圖像處理中我們一般只考慮正的灰度值,所以還有將輸出圖像的灰度值范圍通過尺度變回到所要求的范圍。MATLAB代碼所示:I=imread('saturn.tif');m=fspecial('laplacian')I1=filter2(m,I)h=fspecial('unsharp',0.5);I2=filter2(h,I)/255;sub

26、plot(1,2,1);imshow(I1);title('高通濾波laplacian算子')subplot(1,2,2);imshow(I2);title('高通濾波unsharp')處理結果如圖3-9所示:圖3-9空域高通濾波(三)頻域增強1、基本原理卷積理論是頻域技術的基礎。設函數(shù)f(x,y)與線性位不變算子h(x,y)的卷積結果是g(x,y),即g(x,y)=h(x,y)*f(x,y)那么根據卷積定理在頻域有:G(x,y)=H(u,v)F(u,v)其中G(x,y)、 H(u,v)、F(u,v)分別是g(x,y)、h(x,y)、f(x,y)的傅立葉變換。頻

27、域增強的主要步驟是:(1)技術所需增強圖的傅立葉變換;(2)將其與一個(根據需要設計的)轉移函數(shù)相乘;(3)再將結果進行傅立葉反變換以得到增強的圖。頻域增強的兩個關鍵步驟:(1)將圖像從空域轉換到頻域所需的變換及將圖像從頻域空間轉換回空域所需的變換;(2)在頻域空間對圖像進行增強加工操作。常用的頻域增強方法有低通濾波和高通濾波。以下分別介紹在MATLAB中如何實現(xiàn)。2、低通濾波圖像的能量大部分集中在幅度譜的低頻和中頻度,而圖像的邊緣和噪聲對應于高頻部分。因此能降低高頻成分幅度的濾波器就能減弱噪聲的影響。Butterworth 低通濾波器是一種物理上可以實現(xiàn)的低通濾波器,n階,截斷頻率為d0的B

28、utterworth低通濾波器的轉移函數(shù)為:H(u,v)=用MATLAB實現(xiàn)Butterworth低通濾波器的代碼所示:I1=imread('Saturn.tif');figure,imshow(I1)I2=imnoise(I1,'salt');figure,imshow(I2)f=double(I2);g=fft2(f);g=fftshift(g);N1,N2=size(g);n=2;d0=50;n1=fix(N1/2);n2=fix(N2/2);for i=1:N1 for j=1:N2 d=sqrt(i-n1)2+(j-n2)2);h=1/(1+0.414

29、*(d/d0)(2*n); result(i,j)=h*g(i,j); endendresult=ifftshift(result);X2=ifft2(result);X3=uint8(real(X2);figure,imshow(X3)原圖和處理結果如圖3-10和圖3-11所示圖3-10 加噪 圖3-11 去噪3、高通濾波高通濾波也稱高頻濾波器,它的頻值在0頻率處單位為1,隨著頻率的增長,傳遞函數(shù)的值逐漸增加;當頻率增加到一定值之后傳遞函數(shù)的值通常又回到0值或者降低到某個大于1的值。在前一種情況下,高頻增強濾波器實際上是依照能夠帶通濾波器,只不過規(guī)定0頻率處的增益為單位1。實際應用中,為了減

30、少圖像中面積大且緩慢變化的成分的對比度,有時讓0頻率處的增益小于單位1更合適。如果傳遞函數(shù)通過原點,則可以稱為laplacian濾波器。n階截斷頻率為d0的Butterworth高通濾波器的轉移函數(shù)為:H(u,v)=MATLAB實現(xiàn)Butterworth高通濾波器代碼所示:I1=imread('blood1.tif');figure,imshow(I1)f=double(I1);g=fft2(f);g=fftshift(g);N1,N2=size(g);n=2;d0=5;n1=fix(N1/2);n2=fix(N2/2);for i=1:N1 for j=1:N2 d=sqrt

31、(i-n1)2+(j-n2)2); if d=0 h=0; else h=1/(1+(d0/d)(2*n); end result(i,j)=h*g(i,j); endendresult=ifftshift(result);X2=ifft2(result);X3=uint8(real(X2);figure,imshow(X3)原圖和處理結果如圖3-12和3-13所示。圖3-12原圖 圖3-13高通濾波四、二值圖像分析二值圖像中所有的像素只能從0和1這兩個值中取,因此在MATLAB中,二值圖像用一個由0和1組成的二維矩陣表示。這兩個可取的值分別對應于關閉和打開,關閉表征該像素處于背景,而打開表征

32、該像素處于前景。以這種方式來操作圖像可以更容易識別出圖像的結構特征。(一)二值形態(tài)學的基本運算數(shù)學形態(tài)學的基礎是集合運算,我們把二值圖像A看作是二維坐標點的集合,包含圖像里為1的點,B通常是一個小的集合,作用類似于模板。膨脹(Dilation)運算AB 腐蝕(Erosion)運算AB 開(Open)運算閉(Close)運算(二)二值分析進行圖像處理綜合應用1、噪聲濾除將開啟和閉合結合起來可構成噪聲濾除器。開啟就是先對圖像進行腐蝕后膨脹其結果。閉合就是先對圖像進行膨脹后腐蝕其結果。開啟和閉合這兩種運算都可以除去比結構元素小特定圖像細節(jié),同時保證不產生全局幾何失真。開啟運算可以把結構元素小的突刺濾掉,切斷細長搭接而起到分離作用。閉合運算可以把比結構元素小的缺口或孔填充上,搭接短的間斷而起到連通的作用。將開啟和閉合結合起來可構成形態(tài)學噪聲濾除器。開啟結果將背景上的噪聲去除了;再進行閉合則將噪聲去掉。MATLAB代碼:I1=imread('saturn.tif');I2=im2bw(I1);I2=double(I2);I3=imnoise(I2,'salt & pepper');I4=bwmorph(I3,'open');I5=bwm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論