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