




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數字圖像處理課程設計報告題 目: 數字圖像處理演示系統 專 業: 信息與計算科學 學 號: 組 長: 指導教師: 成 績: 二一 年 六 月 二十六 日 |一、課程設計目的數字圖像處理的目的是改善圖像的質量,它以人為對象,以改善人的視覺效果為目的。目前,圖像處理演示系統應用領域廣泛醫學、軍事、科研、商業等領域。因為數字圖像處理技術易于實現非線性處理,處理程序和處理參數可變,故是一項通用性強,精度高,處理方法靈活,信息保存、傳送可靠的圖像處理技術。本圖像處理演示系統以數字圖像處理理論為基礎,對某些常用功能進行界面化設計,便于初級用戶的操作。二、課程設計基本要求1、能加載和顯示原始圖像,顯示和輸出
2、處理后的圖像;2、系統要便于維護和具備可擴展性;3、界面友好便于操作; 4、數字圖像處理演示系統應該具備圖像的幾何變換(平移、縮放、旋轉、翻轉)、圖像增強(空間域的平滑濾波與銳化濾波)的簡單處理功能。三、分組情況;1、組長: :負責全過程進行及整理材料組員: :設計全過程的監督及協助、部分源程序代碼的編寫和整個源程序代碼的整理。:圖像分析及調試,信息的分類處理 :在書上查找相關概念內容四、簡介;1、幾何變換幾何變換又稱為幾何運算,它是圖像處理和圖像分析的重要內容之一。通過幾何運算,可以根據應用的需要使原圖像產生大小、形狀、和位置等各方面的變化。簡單的說,幾何變換可以改變像素點所在的幾何位置,以
3、及圖像中各物體之間的空間位置關系,這種運算可以被看成是將各物體在圖像內移動,特別是圖像具有一定的規律性時,一個圖像可以由另外一個圖像通過幾何變換來產生。實際上,一個不受約束的幾何變換,可將輸入圖像的一個點變換到輸出圖像中的任意位置。幾何變換不僅提供了產生某些特殊圖像的可能,甚至還可以使圖像處理程序設計簡單化。從變換性質來分可以分為圖像的位置變換、形狀變換等2、圖像增強 圖像增強是數字圖像處理的基本內容之一,其目的是根據應用需要突出圖像中的某些“有用”的信息,削弱或去除不需要的信息,以達到擴大圖像中不同物體特征之間的差別,使處理后的圖像對于特定應用而言,比原始圖像更合適,或者為圖像的信息提取以及
4、其他圖像分析技術奠定了基礎。一般情況下,經過增強處理后,圖像的視覺效果會發生改變,這種變化意味著圖像的視覺效果得到了改善,某些特定信息得到了增強。五、 設計思想:1、圖像處理演示系統實現工具的選擇使用matlab軟件進行界面設計及程序編寫。2、 選擇matlab軟件原因之所以選擇matlab工具是因為:matlab是集數值計算,符號運算及圖形處理等強大功能于一體的科學計算語言。作為強大的科學計算平臺,它幾乎能夠滿足所有的計算需求。matlab全稱是matrix laboratory(矩陣實驗室),一開始它是一種專門用于矩陣數值計算的軟件,從這一點上也可以看出,它在矩陣運算上有自己獨特的特點。實
5、際上matlab中的絕大多數的運算都是通過矩陣這一形式進行的。這一特點也就決定 了matlab在處理數字圖像上的獨特優勢。理論上講,圖像是一種二維的連續函數,然而在計算機上對圖像進行數字處理的時候,首先必須對其在空間和亮度上進行數字化,這就是圖像的采樣和量化的過程。二維圖像進行均勻采樣,就可以得到一幅離散化成mn樣本的數字圖像,該數字圖像是一個整數陣列,因而用矩陣來描述該數字圖像是最直觀最簡便的了。而matlab的長處就是處理矩陣運算,因此用matlab處理數字圖像非常的方便。matlab支持五種圖像類型,即索引圖像、灰度圖像、二值圖像、rgb圖像和多幀圖像陣列;支持bmp、gif、hdf、j
6、peg、pcx、png、tiff、xwd、cur、ico等圖像文件格式的讀,寫和顯示。matlab對圖像的處理功能主要集中在它的圖像處理工具箱(image processing toolbox)中。圖像處理工具箱是由一系列支持圖像處理操作的函數組成,可以進行諸如幾何操作、線性濾波和濾波器設計、圖像變換、圖像分析與圖像增強、二值圖像操作以及形態學處理等圖像處理操作。3 系統結構框圖圖像處理系統文件 圖 像增 強幾何變換繪制直方圖幫助打開保存平滑濾波增強銳化濾波增強圖像的平移圖像的旋轉圖像的縮放圖像的翻轉橫軸翻轉縱軸翻轉六、圖形用戶界面設計gui是實現人機交互的中介,可以通過它實現數據輸入、處理和
7、輸出。matlab提供了一個專門的gui設計工具圖形用戶界面開發環境(guide),使用該工具,可以快速完成gui設計任務。利用matlab提供的有關數據,還可以創建工具欄控件和多種對話框。1、啟動guide 在命令窗口中鍵入guide,啟動guide,顯示如下圖所示的“guide quick start” 對話框 。打開“guide quick start”對話框,利用guide 模板創建新的gui,選擇一個模板后,單機ok 按鈕,在輸出編輯器中打開gui。如下:2、 輸出編輯器 在guide中打開gui以后,它顯示在輸出編輯器中。輸出編輯器是所有guide工具的控制面板。 可以通過拖拉控件
8、來設計gui,這些控件位于輸出編輯器左側的工具箱中,有按鈕、彈出式菜單和坐標系等多種。也可以用輸出編輯器設置gui控件的基本屬性。3 、guide模板 “guide quick start”對話框提供了幾種基本類型的gui模板。使用模板的好處是可以通過改模板來快速創建。選擇一種模板以后,它的預覽效果顯示在右面的面板中。4、菜單編輯器 利用菜單編輯器,可以創建、設置、修改下拉式菜單和彈出式菜單。在guide中單機工具欄上的按鈕,或者選擇“tools”菜單中的“menu editor”選項,打開菜單編輯器的界面,如下圖所示:上圖中左上角第一個按鈕用于創建下拉式菜單。用戶可以通過單擊它來創建下拉式主
9、菜單。第二個按鈕用于創建下拉式主菜單的子菜單運行后效果如下:最終gui運行效果圖如下:首次運行后會自動生成zhankeui.m和zhankeui.fig兩個文件,默認目錄設在matlab安裝目錄下的work文件夾里,zhankeui.m中存放的是gui的相關編碼,以及相關控件的回調函數,今后可以對其進行代碼修改,添加,刪除等操作,zhankeui.fig是gui的界面文件。今后主要是對zhankeui.m文件里面代碼的相關操作以實現相關功能!七 圖像處理演示系統各功能的實現1、文件的打開與保存1.1文件的打開在主菜單“文件”的下拉菜單中,有個“打開”選項,在其回調函數中添加打開某個文件的相關代
10、碼:fname,pname=uigetfile(*.bmp;*.jpeg;*.gif, open the file)fname為將要打開文件的文件名,pname為將要打開文件的路徑。uigetfile函數中主要有兩部分參數*.bmp;*.jpeg;*.gif是想要打開文件的格式,open the file是生成文件選擇打開對話框的標題,此段代碼運行效果如下: 打開一幅圖像從上圖中選擇需要進行操作的文件,將其打開以便后續操作 打開一幅圖像后在界面窗口顯示在打開回調函數中我希望同時對文件進行相關數據的讀取,以便在今后的處理操作中可以方便的調用,讀取完圖像數據后在窗口中顯示圖像,相關代碼如下:v=s
11、trcat(pname,fname); %將圖像賦值給變量vhandles.my_data1=v guidata(hobject,handles) %更新句柄數據axes(handles.axes7) %添加一坐標軸用來指定顯示圖像的區域imshow(v) %顯示選取的圖像 當執行以上代碼時會有一種情況出現錯誤,那就是當我們進行“打開”文件操作時候,如上圖 open,在這里當我們沒有選擇文件,而將窗口強行關閉或選擇了程序無法識別的文件格式時,命令窗口會提示錯誤,所以加入如下代碼進行處理:if fname 5 returnend對打開的文件名長度進行判斷,確定有文件打開時會進行下面的操作,當沒有
12、文件時退出,整個回調函數如下: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 圖像空域的平滑濾波處理結果2.2圖像的銳化濾波處理1) 銳化濾波的作用:圖像的平滑處理會使圖像的邊緣紋理信息受到損失,圖像變得比較模糊。如果需要突出圖像的邊緣紋理信息,則可以通過銳化濾波器實現,它可以消除或減弱圖像的低頻分量從而增強圖像中物體
13、的邊緣輪廓信息,使得除邊緣以外的像素點的灰度值趨向于零。2)銳化濾波原理 銳化濾波器是以對圖像的微分運算或差分運算為基礎。微分運算是求像素點灰度值的變化率,而圖像內不同物體邊緣處的像素點的灰度值往往變化比較明顯,因此微分運算或差分運算可以起到增強邊緣信息的作用。銳化算子: 0 -1 0 h = -1 4 -1 0 -1 03)實現方法: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 模板銳化濾波結果3 圖像的幾何變換3.1 對圖像進行平移1)圖
14、像平移的作用: 將圖像中的某點從一個位置(x,y)移動到另外一個位置(x0,y0),而使平移后的圖像與原始圖像完全相同。2)圖像平移原理:圖像的平移是圖像變換中最簡單的變換之一,其特點是平移后的圖像與原圖像完全相同,平移后新圖像上的每一個點都可以在原圖像中找到對應的點。若點a0(x0,y0)進行平移后,被移到a(x,y),其中x方向的平移量為x.y方向的平移量為y,那么點a(x,y)的坐標為:x=x0+xy=y0+y操作中需要輸入平移的橫縱量,變量的輸入代碼如下prompt=請輸入橫向平移量;title=;ansa=inputdlg(prompt,title);x1=str2num(ansa1
15、); handles.my_data4=x1;prompt=請輸入縱向平移量;title=;ansa=inputdlg(prompt,title);y1=str2num(ansa1);handles.my_data5=y1;guidata(hobject,handles)%上段代碼中的x1,y1即為需要輸入的橫向平移量與縱向平移量執行后出現如圖界面:3)實現方法:for x=1:w for y=1:h possourcex=uint16(x+x1); possourcey=uint16(y+y1);if(possourcexw) | (possourceyh) if (xx.bitdepth=
16、 =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是平移后坐標點,transfor為平移后圖片) 圖像
17、的平移結果3.2 對圖像進行縮放1)圖像縮放的作用: 對圖像進行縮小和放大的處理,可分別對其寬和高的縮放量進行設置。2)圖像縮放原理:通常情況下,數字圖像的比例縮放是將給定的圖像在x方向和y方向按相同比例縮放a倍。從而獲得一副新的圖像,如果x方向和y方向縮放的比例不同,則圖像的比例縮放會改變原始圖像像素之間的相對位置,產生幾何畸變。設原始圖像中的點a0(x0,y0)比例縮放后,在新圖像中的對應點為a1(x1,y1),則坐標關系可表示為:x1=ax0y1=bx0 若比例縮放所產生的圖像中的像素在原圖像中沒有相對應的像素點時,就需要進行灰度值的插值運算,一般有以下兩種插值處理方法。(1) 直接賦值
18、為和它最相近的像素灰度值,這種方法稱為最鄰近插值法,該方法的主要特點是簡單、計算量很小、但可能會產生馬賽克現象;(2) 通過其他數學插值算法來計算相應像素點的灰度值,這類方法處理效果好,但運算量會有所增加對圖像進行縮放時需要輸入縮放的倍數,其相關代碼如下:prompt=請輸入x向縮放倍數:;title=;ansa=inputdlg(prompt,title);sx=str2num(ansa1);handles.my_data3=sx;guidata(hobject,handles)%上段代碼中的sx即為下圖中所輸入的倍數同理可設置y向縮放倍數sy.3)實現方法:m=xx.width;n=xx.
19、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 取最鄰近整數 endend(m,n為原始圖像的二維數據,m1,n1為縮放后的圖像二維數據,xx為讀取的原始圖像信息) 圖像的縮放結果3.3 對圖像進行旋轉1)圖像旋轉的作用:對圖像進行任意角度的旋轉。2)圖像旋轉原理:圖像的旋轉變換是幾何學中研究的重要內容之一,一般情況下,圖像的旋轉變換是指以圖像的中心為原點,將圖像上的所有像素都旋轉同一個角度的變換。圖像經過旋轉變換之后,圖像的位置發生了改變,但旋轉后,圖像的大小一般會改變。
20、和平移變換一樣,在圖像旋轉變換中既可以把轉出顯示區域的圖像截去,又可以擴大顯示區域的圖像范圍以顯示圖像的全部。設原始圖像的任意點a0(x0,y0)經過旋轉角度以后到新的位置a(x,y),為表示方便,采用極坐標形式表示,原始點的角度為。如下圖所示 p r a(x,y) r a0(x0,y0) 根據極坐標與二維垂直坐標的關系,原始圖像的點a0(x0,y0)的x0和y0坐標如下: x0=rcos y0=rsin 旋轉到新位置以后點a(x,y)的坐標如下:x=rcos(-)=rcoscos+rsinsin=x0cos+y0siny=rsin(-)=rsincos-rcossin=-x0sin+y0co
21、s圖像的旋轉變換用矩陣形式表示如下: x cos sin 0 x0 y = -sin cos 0 y0 1 0 0 1 1對圖像進行旋轉操作時需要輸入旋轉角度,相關實現代碼如下:prompt=請輸入旋轉角度:;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
22、=pai*n/180; %將角度轉換為直觀的表示方法,便于直接輸入度數。上段代碼執行如下:3)實現方法:%計算原圖像各像素的新坐標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)
23、,righttop(1,2),rightbottom(1,2)=i(indexx+1,indexy+1); end end圖4.3.3 圖像旋轉處理結果3.4對圖像進行橫軸翻轉和縱軸翻轉1)圖像翻轉的作用:實現圖像的水平和垂直方向的翻轉。2)圖像翻轉原理:垂直方向:yh-y+1水平方向:xw-x+1其中為h圖像高,w為圖像寬3)實現方法: 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) =
24、 bmpimage(possourcex,possourcey,1:3); else transfor(x,y) = bmpimage(possourcex,possourcey); end end(transfor為翻轉后圖像,possourcex,possourcey為翻轉后坐標) 圖像的橫軸翻轉和縱軸翻轉4、 圖像直方圖的繪制1) 圖像直方圖繪制的作用:實現圖像直方圖的均衡化。 2)圖像直方圖均衡原理:直方圖均衡化是將原圖像的直方圖通過變換函數修正為均勻的直方圖,然后按均衡直方圖修正原圖像。 圖像均衡化處理后,圖像的直方圖是平直的,即各灰度級具有相同的出現頻數,那么由于灰度級具有均勻的概
25、率分布,圖像看起來就更清晰了。 首先假定連續灰度級的情況,推導直方圖均衡化變換公式,令r代表灰度級,p ( r ) 為概率密度函數。 (注:r值已歸一化,最大灰度值為1)。3)實現方法: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
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于Labview的波峰檢測方法設計
- 微信生態下的內容運營策略
- 國際長途汽車運輸安全責任書
- 安徽省六安市三校2025年七年級英語第二學期期末監測模擬試題含答案
- 高端商務區無償辦公場地租賃協議
- 商業綜合體場地監管合作協議
- 教學方法與學習成效的關聯性研究
- 車輛所有權及手續抵押貸款服務協議書
- 成都商業地產租賃合同模板:專業商鋪租賃服務
- 戰略規劃與執行的方法論
- 一級圓柱齒輪減速器的設計計算22001文檔
- 第19章一次函數-一次函數專題數形結合一一次函數與45°角模型講義人教版數學八年級下冊
- 2023年四川省宜賓市敘州區數學六年級第二學期期末考試模擬試題含解析
- 幼兒園警察職業介紹課件
- 滅火器維修與報廢規程
- 皮膚病的臨床取材及送檢指南-修訂版
- 機型理論-4c172實用類重量平衡
- 校企合作項目立項申請表(模板)
- 管道工廠化預制推廣應用課件
- 海水的淡化精品課件
- 項目工程移交生產驗收報告
評論
0/150
提交評論