數(shù)字圖像處理課程設(shè)計報告.doc
《數(shù)字圖像處理課程設(shè)計報告.doc》由會員分享,可在線閱讀,更多相關(guān)《數(shù)字圖像處理課程設(shè)計報告.doc(21頁珍藏版)》請在裝配圖網(wǎng)上搜索。
本科綜合課程設(shè)計報告數(shù)字圖像處理演示系統(tǒng)題 目 _指導(dǎo)教師_輔導(dǎo)教師_學(xué)生姓名_學(xué)生學(xué)號_052通信工程 信息科學(xué)與技術(shù)學(xué)院_ 院(部)_專業(yè)_班_2008_年 _12_月 _30_日1 主要內(nèi)容1.1 數(shù)字圖像處理背景及應(yīng)用數(shù)字圖像處理的目的是改善圖像的質(zhì)量,它以人為對象,以改善人的視覺效果為目的。目前,圖像處理演示系統(tǒng)應(yīng)用領(lǐng)域廣泛醫(yī)學(xué)、軍事、科研、商業(yè)等領(lǐng)域。因為數(shù)字圖像處理技術(shù)易于實現(xiàn)非線性處理,處理程序和處理參數(shù)可變,故是一項通用性強,精度高,處理方法靈活,信息保存、傳送可靠的圖像處理技術(shù)。本圖像處理演示系統(tǒng)以數(shù)字圖像處理理論為基礎(chǔ),對某些常用功能進行界面化設(shè)計,便于初級用戶的操作。1.2 圖像處理演示系統(tǒng)設(shè)計要求能加載和顯示原始圖像,顯示和輸出處理后的圖像;系統(tǒng)要便于維護和具備可擴展性;界面友好便于操作;1.3 圖像處理演示系統(tǒng)設(shè)計任務(wù) 數(shù)字圖像處理演示系統(tǒng)應(yīng)該具備圖像的幾何變換(平移、縮放、旋轉(zhuǎn)、翻轉(zhuǎn))、圖像增強(空間域的平滑濾波與銳化濾波)的簡單處理功能。1.3.1幾何變換 幾何變換又稱為幾何運算,它是圖像處理和圖像分析的重要內(nèi)容之一。通過幾何運算,可以根據(jù)應(yīng)用的需要使原圖像產(chǎn)生大小、形狀、和位置等各方面的變化。簡單的說,幾何變換可以改變像素點所在的幾何位置,以及圖像中各物體之間的空間位置關(guān)系,這種運算可以被看成是將各物體在圖像內(nèi)移動,特別是圖像具有一定的規(guī)律性時,一個圖像可以由另外一個圖像通過幾何變換來產(chǎn)生。實際上,一個不受約束的幾何變換,可將輸入圖像的一個點變換到輸出圖像中的任意位置。幾何變換不僅提供了產(chǎn)生某些特殊圖像的可能,甚至還可以使圖像處理程序設(shè)計簡單化。從變換性質(zhì)來分可以分為圖像的位置變換、形狀變換等1.3.2圖像增強 圖像增強是數(shù)字圖像處理的基本內(nèi)容之一,其目的是根據(jù)應(yīng)用需要突出圖像中的某些“有用”的信息,削弱或去除不需要的信息,以達到擴大圖像中不同物體特征之間的差別,使處理后的圖像對于特定應(yīng)用而言,比原始圖像更合適,或者為圖像的信息提取以及其他圖像分析技術(shù)奠定了基礎(chǔ)。一般情況下,經(jīng)過增強處理后,圖像的視覺效果會發(fā)生改變,這種變化意味著圖像的視覺效果得到了改善,某些特定信息得到了增強。 2 設(shè)計思想:2.1 圖像處理演示系統(tǒng)實現(xiàn)工具的選擇使用MATLAB軟件進行界面設(shè)計及程序編寫。2.2 選擇MATLAB軟件原因之所以選擇MATLAB工具是因為:MATLAB是集數(shù)值計算,符號運算及圖形處理等強大功能于一體的科學(xué)計算語言。作為強大的科學(xué)計算平臺,它幾乎能夠滿足所有的計算需求。MATLAB全稱是Matrix Laboratory(矩陣實驗室),一開始它是一種專門用于矩陣數(shù)值計算的軟件,從這一點上也可以看出,它在矩陣運算上有自己獨特的特點。實際上MATLAB中的絕大多數(shù)的運算都是通過矩陣這一形式進行的。這一特點也就決定 了MATLAB在處理數(shù)字圖像上的獨特優(yōu)勢。理論上講,圖像是一種二維的連續(xù)函數(shù),然而在計算機上對圖像進行數(shù)字處理的時候,首先必須對其在空間和亮度上進行數(shù)字化,這就是圖像的采樣和量化的過程。二維圖像進行均勻采樣,就可以得到一幅離散化成MN樣本的數(shù)字圖像,該數(shù)字圖像是一個整數(shù)陣列,因而用矩陣來描述該數(shù)字圖像是最直觀最簡便的了。而MATLAB的長處就是處理矩陣運算,因此用MATLAB處理數(shù)字圖像非常的方便。MATLAB支持五種圖像類型,即索引圖像、灰度圖像、二值圖像、RGB圖像和多幀圖像陣列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等圖像文件格式的讀,寫和顯示。MATLAB對圖像的處理功能主要集中在它的圖像處理工具箱(Image Processing Toolbox)中。圖像處理工具箱是由一系列支持圖像處理操作的函數(shù)組成,可以進行諸如幾何操作、線性濾波和濾波器設(shè)計、圖像變換、圖像分析與圖像增強、二值圖像操作以及形態(tài)學(xué)處理等圖像處理操作。23 系統(tǒng)結(jié)構(gòu)框圖圖像處理系統(tǒng)文件 圖 像增 強幾何變換繪制直方圖幫助打開保存平滑濾波增強銳化濾波增強圖像的平移圖像的旋轉(zhuǎn)圖像的縮放圖像的翻轉(zhuǎn)橫軸翻轉(zhuǎn)縱軸翻轉(zhuǎn)3 圖形用戶界面設(shè)計GUI是實現(xiàn)人機交互的中介,可以通過它實現(xiàn)數(shù)據(jù)輸入、處理和輸出。MATLAB提供了一個專門的GUI設(shè)計工具圖形用戶界面開發(fā)環(huán)境(GUIDE),使用該工具,可以快速完成GUI設(shè)計任務(wù)。利用MATLAB提供的有關(guān)數(shù)據(jù),還可以創(chuàng)建工具欄控件和多種對話框。3.1啟動GUIDE 在命令窗口中鍵入guide,啟動GUIDE,顯示如下圖所示的“GUIDE Quick Start” 對話框 。打開“GUIDE Quick Start”對話框,利用GUIDE 模板創(chuàng)建新的GUI,選擇一個模板后,單機OK 按鈕,在輸出編輯器中打開GUI。如下:3.2 輸出編輯器 在GUIDE中打開GUI以后,它顯示在輸出編輯器中。輸出編輯器是所有GUIDE工具的控制面板。 可以通過拖拉控件來設(shè)計GUI,這些控件位于輸出編輯器左側(cè)的工具箱中,有按鈕、彈出式菜單和坐標(biāo)系等多種。也可以用輸出編輯器設(shè)置GUI控件的基本屬性。3.3 GUIDE模板 “GUIDE Quick Start”對話框提供了幾種基本類型的GUI模板。使用模板的好處是可以通過改模板來快速創(chuàng)建。選擇一種模板以后,它的預(yù)覽效果顯示在右面的面板中。3.4 菜單編輯器 利用菜單編輯器,可以創(chuàng)建、設(shè)置、修改下拉式菜單和彈出式菜單。在GUIDE中單機工具欄上的按鈕,或者選擇“Tools”菜單中的“Menu Editor”選項,打開菜單編輯器的界面,如下圖所示:上圖中左上角第一個按鈕用于創(chuàng)建下拉式菜單。用戶可以通過單擊它來創(chuàng)建下拉式主菜單。第二個按鈕用于創(chuàng)建下拉式主菜單的子菜單運行后效果如下:最終GUI運行效果圖如下:首次運行后會自動生成zhankeUI.m和zhankeUI.fig兩個文件,默認(rèn)目錄設(shè)在MATLAB安裝目錄下的work文件夾里,zhankeUI.m中存放的是GUI的相關(guān)編碼,以及相關(guān)控件的回調(diào)函數(shù),今后可以對其進行代碼修改,添加,刪除等操作,zhankeUI.fig是GUI的界面文件。今后主要是對zhankeUI.m文件里面代碼的相關(guān)操作以實現(xiàn)相關(guān)功能!4 圖像處理演示系統(tǒng)各功能的實現(xiàn)4.1文件的打開與保存4.1.1文件的打開在主菜單“文件”的下拉菜單中,有個“打開”選項,在其回調(diào)函數(shù)中添加打開某個文件的相關(guān)代碼:fname,pname=uigetfile(*.bmp;*.jpeg;*.gif, Open the file)fname為將要打開文件的文件名,pname為將要打開文件的路徑。Uigetfile函數(shù)中主要有兩部分參數(shù)*.bmp;*.jpeg;*.gif是想要打開文件的格式,Open the file是生成文件選擇打開對話框的標(biāo)題,此段代碼運行效果如下:圖 4.1.1 打開一幅圖像從上圖中選擇需要進行操作的文件,將其打開以便后續(xù)操作圖4.1.2 打開一幅圖像后在界面窗口顯示在打開回調(diào)函數(shù)中我希望同時對文件進行相關(guān)數(shù)據(jù)的讀取,以便在今后的處理操作中可以方便的調(diào)用,讀取完圖像數(shù)據(jù)后在窗口中顯示圖像,相關(guān)代碼如下:V=strcat(pname,fname); %將圖像賦值給變量Vhandles.my_data1=V guidata(hObject,handles) %更新句柄數(shù)據(jù)axes(handles.axes7) %添加一坐標(biāo)軸用來指定顯示圖像的區(qū)域imshow(V) %顯示選取的圖像 當(dāng)執(zhí)行以上代碼時會有一種情況出現(xiàn)錯誤,那就是當(dāng)我們進行“打開”文件操作時候,如上圖 Open,在這里當(dāng)我們沒有選擇文件,而將窗口強行關(guān)閉或選擇了程序無法識別的文件格式時,命令窗口會提示錯誤,所以加入如下代碼進行處理:if fname 5 returnend對打開的文件名長度進行判斷,確定有文件打開時會進行下面的操作,當(dāng)沒有文件時退出,整個回調(diào)函數(shù)如下:fname,pname=uigetfile(*.bmp;*.jpeg;*.gif,Open the file)L=length(fname)if fname hhh(q) temp=hhh(p); hhh(p)=hhh(q); hhh(q)=temp; end end end I_2(i,j)=hhh(5); end end 圖4.2.1 圖像空域的平滑濾波處理結(jié)果4.2.2圖像的銳化濾波處理1) 銳化濾波的作用:圖像的平滑處理會使圖像的邊緣紋理信息受到損失,圖像變得比較模糊。如果需要突出圖像的邊緣紋理信息,則可以通過銳化濾波器實現(xiàn),它可以消除或減弱圖像的低頻分量從而增強圖像中物體的邊緣輪廓信息,使得除邊緣以外的像素點的灰度值趨向于零。2)銳化濾波原理 銳化濾波器是以對圖像的微分運算或差分運算為基礎(chǔ)。微分運算是求像素點灰度值的變化率,而圖像內(nèi)不同物體邊緣處的像素點的灰度值往往變化比較明顯,因此微分運算或差分運算可以起到增強邊緣信息的作用。銳化算子: 0 -1 0 H = -1 4 -1 0 -1 03)實現(xiàn)方法:for i=1:m-2 for j=1:n-2 b(i+1,j+1)=abs(4*x(i+1,j+1)-x(i,j+1)-x(i+1,j)-x(i+1,j+2)-x(i+2,j+1); endend圖4.2.2 模板銳化濾波結(jié)果4.3 圖像的幾何變換4.3.1 對圖像進行平移1)圖像平移的作用: 將圖像中的某點從一個位置(X,Y)移動到另外一個位置(X0,Y0),而使平移后的圖像與原始圖像完全相同。2)圖像平移原理:圖像的平移是圖像變換中最簡單的變換之一,其特點是平移后的圖像與原圖像完全相同,平移后新圖像上的每一個點都可以在原圖像中找到對應(yīng)的點。若點A0(X0,Y0)進行平移后,被移到A(X,Y),其中X方向的平移量為X.Y方向的平移量為Y,那么點A(X,Y)的坐標(biāo)為:X=X0+XY=Y0+Y操作中需要輸入平移的橫縱量,變量的輸入代碼如下prompt=請輸入橫向平移量;title=;ansa=inputdlg(prompt,title);x1=str2num(ansa1); handles.my_data4=x1;prompt=請輸入縱向平移量;title=;ansa=inputdlg(prompt,title);y1=str2num(ansa1);handles.my_data5=y1;guidata(hObject,handles)%上段代碼中的x1,y1即為需要輸入的橫向平移量與縱向平移量執(zhí)行后出現(xiàn)如圖界面:3)實現(xiàn)方法:for x=1:w for y=1:h PosSourceX=uint16(x+x1); PosSourceY=uint16(y+y1);if(PosSourceXw) | (PosSourceYh) if (xx.BitDepth= =24) Transfor(x, y,1:3) = uint8(1); else Transfor(x, y) = uint8(1); end else if (xx.BitDepth= =24)Transfor(x,y,1:3) = BmpImage(PosSourceX,PosSourceY,1:3); else Transfor(x,y) = BmpImage(PosSourceX,PosSourceY); end end end end figure; imshow(Transfor)%(PosSourceX和 PosSourceY是平移后坐標(biāo)點,Transfor為平移后圖片)圖4.3.1 圖像的平移結(jié)果4.3.2 對圖像進行縮放1)圖像縮放的作用: 對圖像進行縮小和放大的處理,可分別對其寬和高的縮放量進行設(shè)置。2)圖像縮放原理:通常情況下,數(shù)字圖像的比例縮放是將給定的圖像在X方向和Y方向按相同比例縮放a倍。從而獲得一副新的圖像,如果X方向和Y方向縮放的比例不同,則圖像的比例縮放會改變原始圖像像素之間的相對位置,產(chǎn)生幾何畸變。設(shè)原始圖像中的點A0(X0,Y0)比例縮放后,在新圖像中的對應(yīng)點為A1(X1,Y1),則坐標(biāo)關(guān)系可表示為:X1=aX0Y1=bX0 若比例縮放所產(chǎn)生的圖像中的像素在原圖像中沒有相對應(yīng)的像素點時,就需要進行灰度值的插值運算,一般有以下兩種插值處理方法。(1) 直接賦值為和它最相近的像素灰度值,這種方法稱為最鄰近插值法,該方法的主要特點是簡單、計算量很小、但可能會產(chǎn)生馬賽克現(xiàn)象;(2) 通過其他數(shù)學(xué)插值算法來計算相應(yīng)像素點的灰度值,這類方法處理效果好,但運算量會有所增加對圖像進行縮放時需要輸入縮放的倍數(shù),其相關(guān)代碼如下:prompt=請輸入X向縮放倍數(shù):;title=;ansa=inputdlg(prompt,title);sx=str2num(ansa1);handles.my_data3=sx;guidata(hObject,handles)%上段代碼中的sx即為下圖中所輸入的倍數(shù)同理可設(shè)置Y向縮放倍數(shù)sy.3)實現(xiàn)方法:m=xx.Width;n=xx.Height;m1=m*sx;n1=n*sy;for h=1:m1;for w=1:n1;b(h,w)=i(round(h/sx),round(w/sy);%round 取最鄰近整數(shù) endend(m,n為原始圖像的二維數(shù)據(jù),m1,n1為縮放后的圖像二維數(shù)據(jù),xx為讀取的原始圖像信息)圖4.3.2 圖像的縮放結(jié)果4.3.3 對圖像進行旋轉(zhuǎn)1)圖像旋轉(zhuǎn)的作用:對圖像進行任意角度的旋轉(zhuǎn)。2)圖像旋轉(zhuǎn)原理:圖像的旋轉(zhuǎn)變換是幾何學(xué)中研究的重要內(nèi)容之一,一般情況下,圖像的旋轉(zhuǎn)變換是指以圖像的中心為原點,將圖像上的所有像素都旋轉(zhuǎn)同一個角度的變換。圖像經(jīng)過旋轉(zhuǎn)變換之后,圖像的位置發(fā)生了改變,但旋轉(zhuǎn)后,圖像的大小一般會改變。和平移變換一樣,在圖像旋轉(zhuǎn)變換中既可以把轉(zhuǎn)出顯示區(qū)域的圖像截去,又可以擴大顯示區(qū)域的圖像范圍以顯示圖像的全部。設(shè)原始圖像的任意點A0(X0,Y0)經(jīng)過旋轉(zhuǎn)角度以后到新的位置A(X,Y),為表示方便,采用極坐標(biāo)形式表示,原始點的角度為。如下圖所示 P r A(X,Y) r A0(X0,Y0) 根據(jù)極坐標(biāo)與二維垂直坐標(biāo)的關(guān)系,原始圖像的點A0(X0,Y0)的X0和Y0坐標(biāo)如下: X0=rcos Y0=rsin 旋轉(zhuǎn)到新位置以后點A(X,Y)的坐標(biāo)如下:X=rcos(-)=rcoscos+rsinsin=X0cos+Y0sinY=rsin(-)=rsincos-rcossin=-X0sin+Y0cos圖像的旋轉(zhuǎn)變換用矩陣形式表示如下: X cos sin 0 X0 Y = -sin cos 0 Y0 1 0 0 1 1對圖像進行旋轉(zhuǎn)操作時需要輸入旋轉(zhuǎn)角度,相關(guān)實現(xiàn)代碼如下:prompt=請輸入旋轉(zhuǎn)角度:;title=Angle Degrees;ansa=inputdlg(prompt,title);n=str2num(ansa1);handles.my_data2=n; % n為我們輸入的角度值guidata(hObject,handles)V=handles.my_data1;n=handles.my_data2;G=imread(V);i=rgb2gray(G);pai=3.14;n=pai*n/180; %將角度轉(zhuǎn)換為直觀的表示方法,便于直接輸入度數(shù)。上段代碼執(zhí)行如下:3)實現(xiàn)方法:%計算原圖像各像素的新坐標(biāo)for indexX=0:(X-1) for indexY=0:(Y-1) ImageNew(round(indexX*cos(n)-indexY*sin(n)+round(abs(min(LeftTop(1,1),LeftBottom(1,1),RightTop(1,1),RightBottom(1,1)+1,1+round(indexX*sin(n)+indexY*cos(n)+round(abs(min(LeftTop(1,2),LeftBottom(1,2),RightTop(1,2),RightBottom(1,2)=i(indexX+1,indexY+1); end end圖4.3.3 圖像旋轉(zhuǎn)處理結(jié)果4.3.4對圖像進行橫軸翻轉(zhuǎn)和縱軸翻轉(zhuǎn)1)圖像翻轉(zhuǎn)的作用:實現(xiàn)圖像的水平和垂直方向的翻轉(zhuǎn)。2)圖像翻轉(zhuǎn)原理:垂直方向:yh-y+1水平方向:xw-x+1其中為h圖像高,w為圖像寬3)實現(xiàn)方法: if (xx.BitDepth=24)Transfor(x, y,1:3) = uint8(1); else Transfor(x, y) = uint8(1); end else if (xx.BitDepth=24)Transfor(x,y,1:3) = BmpImage(PosSourceX,PosSourceY,1:3); else Transfor(x,y) = BmpImage(PosSourceX,PosSourceY); end end(Transfor為翻轉(zhuǎn)后圖像,PosSourceX,PosSourceY為翻轉(zhuǎn)后坐標(biāo)) 圖4.3.4 圖像的橫軸翻轉(zhuǎn)和縱軸翻轉(zhuǎn)4.4 圖像直方圖的繪制1) 圖像直方圖繪制的作用:實現(xiàn)圖像直方圖的均衡化。 2)圖像直方圖均衡原理:直方圖均衡化是將原圖像的直方圖通過變換函數(shù)修正為均勻的直方圖,然后按均衡直方圖修正原圖像。 圖像均衡化處理后,圖像的直方圖是平直的,即各灰度級具有相同的出現(xiàn)頻數(shù),那么由于灰度級具有均勻的概率分布,圖像看起來就更清晰了。 首先假定連續(xù)灰度級的情況,推導(dǎo)直方圖均衡化變換公式,令r代表灰度級,P ( r ) 為概率密度函數(shù)。 (注:r值已歸一化,最大灰度值為1)。3)實現(xiàn)方法:V = handles.my_data1;xx=imfinfo(V);Bmpimage=imread(V);w=xx.Width; h=xx.Height;grey_grade=2xx.BitDepth;for i=1:grey_grade grey_friq(i)=0;endfor y=1:w for x=1:h for r=1:grey_grade if Bmpimage(x,y)=r grey_friq(r)=grey_friq(r)+1; end end endendfigure;subplot(2,2,3);imshow(Bmpimage);subplot(2,2,1);for i=2:grey_grade line(i,i,0,grey_friq(i);endfor i=1:grey_grade sk(i)=0; p_eq(i)=0;endsk(1)=grey_friq(1)/(w*h);for i=2:grey_grade sk(i)=sk(i-1)+grey_friq(i)/(w*h);endfor i=1:h for j=1:w transfor(i,j)=uint8(sk(Bmpimage(i,j)*255+0.5); endendfor i=1:grey_grade p_eq(uint8(sk(i)*255+0.5)=p_eq(uint8(sk(i)*255+0.5)+grey_friq(i);endsubplot(2,2,2);for i=1:uint8(sk(i)*255+0.5) line(i,i,0,p_eq(i);endsubplot(2,2,4);imshow(transfor);圖4.4.1 原圖像直方圖及均衡化效果5 小結(jié)從通常意義上講,數(shù)字圖像處理技術(shù)更加普遍、可靠和準(zhǔn)確,比起模擬方法,它們也更容易實現(xiàn),專用的硬件被用于數(shù)字圖像處理。今天,硬件解決方案被廣泛的用于視頻處理系統(tǒng),但商業(yè)化的圖像處理任務(wù)基本上仍以軟件形式實現(xiàn),運行在通用個人電腦上,掌握進一步的圖像處理技能對今后的學(xué)習(xí)和工作生活也都有其積極的影響!通過這個階段的努力本圖像處理演示系統(tǒng)已基本完成了對文件的打開保存,以及對圖像的平移、圖像的旋轉(zhuǎn)、翻轉(zhuǎn)、圖像的縮放、圖像的增強等功能的實現(xiàn),由于個人水平和時間的有限,此次課程設(shè)計還存在許多想法沒有很好的實現(xiàn),擴展功能上也有一定的局限性,希望能在今后的學(xué)習(xí)中逐漸彌補和改善! 參考文獻1蘇金明,阮沈勇著.MATLAB實用教程(第二版)M . 北京:電子工業(yè)出版社 ,2008 . 22章毓晉著.圖像處理和分析M . 北京:清華大學(xué)出版社 , 1999 . 33 美 Rafael C . Gonzalez . 數(shù)字圖像處理(第二版)M . 阮秋琦 阮宇智,譯.北京:電子工業(yè)出版社,2003 . 3.- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)字圖像 處理 課程設(shè)計 報告
鏈接地址:http://m.italysoccerbets.com/p-6488268.html