




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、華僑大學廈門工學院 MATLAB 課程設計報告題 目: 專業、班級: 學生姓名: 學 號: 指導教師: 2014 年 月 日MATLAB課程設計任務書系電子信息工程專業電子信息工程學生姓名陳嘉賢學號1102201005設計題目基于MATLAB的圖形濾波器程序設計基本要求: 1、 掌握MATLAB編程的原理和方法。 2、 熟悉語音信號的基本特征和分析處理方法。 3、 掌握數字信號處理的基本概念、理論和方法。 4、 熟練運用MATLAB設計合適的IIR數字濾波器。主要內容:學習掌握數字圖像處理中的圖像濾波特點,并了解MATLAB語言中的相關函數,
2、設計程序實現各種圖像濾波功能以及一些圖片處理。設計要求: 自行編寫算法,并進行調試,最終實現圖像濾波的數字圖像處理功能。學有余力的情況下,可以考慮采用圖形用戶界面(GUI)的方法實現。 目錄內容4一、設計內容 4二、設計要求 4三、方案論證與設計原理描述4四、設計結果 51.GUI程序的設計: 6(1)調整亮度的程序設計:6(2)完成彩圖到灰度圖的轉換 :6(3)在開始菜單下的打開按鈕的程序:6(4)保存按鈕的程序:7(5)退出程序:7(6)添加噪聲程序:7(7)還原按鍵的程序:8(8)翻轉程序:82.結果8總結
3、 12參考文獻12附錄 12內容一、設計內容 學習掌握數字圖像處理中的圖像濾波特點,并了解MATLAB語言中的相關函數,設計程序實現各種圖像濾波功能。 二、設計要求 自行編寫算法,并進行調試,最終實現圖像濾波的數字圖像處理功能。學有余力的情況下,可以考慮采用圖形用戶界面(GUI)的方法實現。 三、方案論證與設計原理描述 圖像濾波是改變圖像質量,去除圖像噪聲的一種方法。主要包括空間域濾波和頻域濾波。空間域濾波主要包括線性濾波、中值濾波、維納濾波。 濾波運算matlab函數imfilter(
4、A,H)(或filter2(B,X)),其中A/B為原始圖像,H/X為濾波掩膜。fspecial(type,para):主要的三種類型: 1、average:均值濾波,參數為hsize代表模板尺寸,默認值為【3,3】 2、gaussian:高斯低通濾波,有兩個參數,hsize表示模板尺寸,默認值為【3 3】,sigma為濾波器的標準值,單位為像素,默認值為0.5. 3、laplacian :拉普拉斯算子,參數alpha用于控制算子形狀,取值范圍為【0,1】,默認值為0.2. 基本函數 1. imread imread函數用于讀入各種圖像文件,如:a=imread('e:w01.jpg&
5、#39;) 注:計算機E盤上要有w01相應的.jpg文件。 2. imfinfo imfinfo函數用于讀取圖像文件的有關信息,如:imfinfo('e:w01.jpg') 3. rgb2gray rgb2gray()函數用于把真彩圖轉換為灰度圖 4. 4. imshow imshow函數用于灰度圖像文件的顯示,如: i=imread('e:w01.jpg'); imshow(i); 1. imnoise imnoise函數用于對圖像生成模擬噪聲,如: i=imread('e:w01.jpg'); j=imnoise(i,'gaussia
6、n',0,0.02);%模擬高斯噪聲 5. 5. fspecial fspecial函數用于產生預定義濾波器,如: h=fspecial('sobel');%sobel水平邊緣增強濾波器 h=fspecial('gaussian');%高斯低通濾波器 h=fspecial('laplacian');%拉普拉斯濾波器 h=fspecial('log');%高斯拉普拉斯(LoG)濾波器 h=fspecial('average');%均值濾波器 6. 中值濾波 medfilt2函數用于圖像的中值濾波,如: i=i
7、mread('e:w01.jpg'); j=medfilt2(i); 加入高斯噪聲比的方式 高斯噪聲是指它的概率密度函數服從高斯分布(即正態分布)的一類噪聲。 MATLAB中為圖片加高斯噪聲的語句是 (1) J = imnoise(I, 'gaussian'); (式3-1) (2) J = imnoise(I, 'gaussian',parameters); (式3-2) (3) J=imnoise(I, 'gaussian',m,v); (式3-3) 其中I為原圖象的灰度矩陣,J為加噪聲后圖象的灰度矩陣一般情況下用 (式3-1
8、)表示即可,(式3-2)中表示是允許修改參數,而(式3-1)中使用缺省參數;(式3-3)中對圖像I加高斯噪聲,均值為m,方差為v。 高斯平滑濾波器的原理 高斯濾波器是根據高斯函數的形狀來選擇權值的線性平滑濾波器。高斯平滑濾波器對去除服從正態分布的噪聲有很好的效果。一維零均值高斯函數決定了高斯濾波器的寬度。對圖像來說,常用二維零均值離散高斯函數做平滑濾波器,在高斯濾波器的設計中,高斯函數的最佳逼近由二項式展開的系數決定。由高斯函數的可分離性得到,二維高斯濾波器能用2個一維高斯濾波器逐次卷積來實現,一個沿水平方向,一個沿垂直方向。實際上,這種運算可以通過使用單個一維高斯模板,對兩次卷積之間的圖像和
9、最后卷積的結果圖像進行轉置來完成。 對較大的濾波器,二項式系數對大多數計算機來說都太多,但是,任意大的高斯濾波器都能通過重復使用小的高斯濾波器來實現。高斯濾波器的二項式逼近的可用高斯函數擬合二項式系數的最小方差來計算設計高斯濾波器的另一種途徑是直接從離散的高斯分布中計算模板值。為了計算方便,一般希望濾波器權值是整數。在模板的一個角點處取一個值,并選擇一個K使該角點處值為1。通過這個系數可以使濾波器整數化,由于整數化后的模板權值之和不等于1,為了保證圖像的均勻灰度區域不受影響,必須對濾波模板進行權值規范化。 -四、設計結果 i=imread('C:UsersAdministra
10、torDesktops15.jpg'); g0 =i(:,:,2); figure,imshow(g0); g1 = imnoise(g0,'gaussian',0,0.01); figure,imshow(g1); h1=fspecial('gaussian',3,1); g2=imfilter(g1,h1,'same'); figure;imshow(g2);1.GUI程序的設計: (1)調整亮度的程序設計:function Untitled_6_Callback(hObject, eventdata, handles)gl
11、obal Taxes(handles.axes2);T=getimage;prompt='調整倍數'defans='1'p=inputdlg(prompt,'input',1,defans);p1=str2num(p1);y=imadjust(handles.img,p1);imshow(y);handles.img=y;guidata(hObject,handles); (2)完成彩圖到灰度圖的轉換 :function Untitled_7_Callback(hObject, eventdata, handles)global Tax
12、es(handles.axes2);T=getimage;x=rgb2gray(handles.img);imshow(x);handles.img=x;guidata(hObject,handles);(3)在開始菜單下的打開按鈕的程序:function Untitled_2_Callback(hObject, eventdata, handles)filename,pathname=uigetfile('*.jpg''*.bmp''*.tif''*.*','載入圖像');if isequal(filename,
13、0)|isequal(pathname,0)errordlg('沒有選中文件','出錯');return; elsefile=pathname,filename;global S S=file;x=imread(file);set(handles.axes1,'HandleVisibility','ON');axes(handles.axes1);imshow(x);set(handles.axes1,'HandleVisibility','OFF');axes(handles.axes2);ims
14、how(x);handles.img=x;guidata(hObject,handles);end(4)保存按鈕的程序:function Untitled_3_Callback(hObject, eventdata, handles)sfilename,sfilepath=uiputfile('*.jpg''*.bmp''*.tif''*.*','保存圖像文件','untitled.jpg');Ifisequal(sfilename,sfilepath,0,0)sfilefullname=sfile
15、path,sfilename;imwrite(handles.img,sfilefullname);else msgbox('你按了取消鍵','保存失敗');end(5)退出程序:function Untitled_4_Callback(hObject, eventdata, handles)clc;close all;close(gcf);clear;clear;(6)添加噪聲程序:function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)global Tstr=get(hObject,&
16、#39;string');axes(handles.axes2);switch str case '高斯噪聲'T=getimage;prompt='輸入高斯噪聲1:','輸入高斯噪聲2'defans='0','0.02'p=inputdlg(prompt,'input',1,defans);p1=str2num(p1);p2=str2num(p2);f=imnoise(handles.img,'gaussian',p1,p2);imshow(f);handles.img=f;
17、guidata(hObject,handles);case'乘性噪聲' T=getimage;prompt='輸入乘性噪聲1:'defans='0.02'p=inputdlg(prompt,'input',1,defans);p1=str2num(p1);f=imnoise(handles.img,'speckle',p1);imshow(f);handles.img=f;guidata(hObject,handles);end(7)還原按鍵的程序:function pushbutton1_Callback(hOb
18、ject, eventdata, handles)global S axes(handles.axes2); y=imread(S); f=imshow(y); handles.img=y; guidata(hObject,handles);(8)翻轉程序:function pushbutton2_Callback(hObject, eventdata, handles)global Taxes(handles.axes2);T=getimage;prompt='旋轉角度:'defans='0' p=inputdlg(prompt,'input'
19、,1,defans);p1=str2num(p1);f=imrotate(handles.img,p1,'bilinear','crop');imshow(f);handles.img=f;guidata(hObject,handles);2.結果原圖:原圖的灰度圖像:高斯加噪的圖:高斯去噪后的圖像:GUI界面的設計:GUI界面運行圖:調整亮度: 形成灰度圖:通過添加乘性噪聲效果圖:添加高斯噪聲形成效果圖:翻轉效果:用戶菜單設計:總結 此次課程設計,要求對MATLAB進行基礎的運用和掌握,雖然只是對MATLAB一小部分進行運用。以前,對MAT
20、LAB并沒有太多的接觸,僅僅是在第一次進行課程設計時利用MATLAB進行了圖像的繪制和一些簡單的處理函數。但經過這次我才發現,MATLAB軟件功能真的很強大,它的圖像工具箱幾乎包括所有經典的圖像處理方法,可以很方便的對圖像進行處理。對于一款軟件的應用還是應該自己動手實際操作才會有深刻理解。通過這次的課程設計,我意識到了想要做好一件事,要有耐心,細心,要腳踏實地,而不應該毛躁,而且要學會很好的利用網絡資源,之前我并沒有接觸過圖像信號處理系統,所以對這方面的知識是一點儲備都沒有,但是通過網絡查詢和利用MATLAB實際操作之后,我對圖像信息的獲得和處理有了一點基本的認識。其次,做這個東西真的很考驗一
21、個人的耐心,尤其在編寫程序的時候明明感覺是對的,但是運行出來卻不是想要的結果,而且總是很難發現自己錯在哪里,這時候就需要足夠的耐心去檢查程序,發現錯誤。 在今后的學習過程中,我還會繼續深入學習MATLAB,讓它更好的為我所用。參考文獻1.百度:基于MATLAB的GUI濾波器設計專題論文2. 張志涌 精通MATLAB 6.5版教程.北京:北京航天航空大學出版社, 2003(56)-é=ë附錄 系統原理圖或完整程序 程序設計:i=imread(
22、9;C:UsersAdministratorDesktop截圖12.jpg'); g0 =i(:,:,2); figure,imshow(g0); g1 = imnoise(g0,'gaussian',0,0.01); figure,imshow(g1); h1=fspecial('gaussian',3,1); g2=imfilter(g1,h1,'same'); figure;imshow(g2);GUI程序的完整設計:function varargout = chenjiaxian(varargin)gui_Singleton =
23、1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', chenjiaxian_OpeningFcn, . 'gui_OutputFcn', chenjiaxian_OutputFcn, . 'gui_LayoutFcn', , . 'gui_Callback', );if nargin && ischar(varargin1) gui_Stat
24、e.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction chenjiaxian_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = chenjiaxi
25、an_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output;function pushbutton1_Callback(hObject, eventdata, handles)global S axes(handles.axes2); y=imread(S); f=imshow(y); handles.img=y; guidata(hObject,handles);function pushbutton2_Callback(hObject, eventdata, handles)global Taxes(handl
26、es.axes2);T=getimage;prompt='旋轉角度:'defans='0' p=inputdlg(prompt,'input',1,defans);p1=str2num(p1);f=imrotate(handles.img,p1,'bilinear','crop');imshow(f);handles.img=f;guidata(hObject,handles);function Untitled_2_Callback(hObject, eventdata, handles)filename,pat
27、hname=uigetfile('*.jpg''*.bmp''*.tif''*.*','載入圖片');if isequal(filename,0)|isequal(pathname,0)errordlg('沒有選中文件','出錯');return; elsefile=pathname,filename;global S S=file;x=imread(file);set(handles.axes1,'HandleVisibility','ON');ax
28、es(handles.axes1);imshow(x);set(handles.axes1,'HandleVisibility','OFF');axes(handles.axes2);imshow(x);handles.img=x;guidata(hObject,handles);endfunction Untitled_3_Callback(hObject, eventdata, handles)sfilename,sfilepath=uiputfile('*.jpg''*.bmp''*.tif''*.*
29、','保存圖像文件','untitled.jpg');ifisequal(sfilename,sfilepath,0,0)sfilefullname=sfilepath,sfilename;imwrite(handles.img,sfilefullname);else msgbox('你按了取消鍵','保存失敗');endfunction Untitled_4_Callback(hObject, eventdata, handles)clc;close all;close(gcf);clear;function Untitled_6_Callback(hObject, eventdata, handles)global Taxes(handles.axes2);T=getimage;prompt='調整倍數'defans='1'p=inputdlg(prompt,'input',1,defans);p1=str2num(p1);y=imadjust(handles
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030蘋果汁行業產業運行態勢及投資規劃深度研究報告
- 2025至2030中國移動電話配附件行業市場現狀分析及競爭格局與投資發展報告
- 2025至2030中國磷酸二銨(DAP)行業發展趨勢分析與未來投資戰略咨詢研究報告
- 2025至2030中國相變材料行業經營模式與發展趨勢研究報告
- 2025至2030中國病人隔離圍裙行業發展趨勢分析與未來投資戰略咨詢研究報告
- 2025至2030中國男士牛仔上衣行業發展趨勢分析與未來投資戰略咨詢研究報告
- 2025至2030中國生物燃料添加劑行業發展趨勢分析與未來投資戰略咨詢研究報告
- 2025至2030中國牙科二氧化硅粉市場競爭格局與發展戰略研究報告
- 2025至2030中國燃氣熱水器市場行情走勢與投融資戰略規劃分析報告
- 2025年中國圖書出版發行市場運行態勢及行業發展前景預測報告
- 環保相關知識培訓課件
- 2025年河北高考真題化學試題+解析(參考版)
- 護理事業十五五發展規劃(2026-2030)
- 2025年隨州國投集團公開招聘42名工作人員筆試參考題庫附帶答案詳解
- 2025年3月10日吉林省紀委監察廳遴選面試真題及解析
- 2025年 內蒙古能源集團所屬單位招聘考試筆試試題(含答案)
- 2025年“安康杯”安全知識競賽題庫(含答案)
- 2025年江西省高考物理真題
- CJ/T 463-2014薄壁不銹鋼承插壓合式管件
- 風電場安全管理制度
- T/SHPTA 071.2-2023高壓電纜附件用橡膠材料第2部分:半導電橡膠材料
評論
0/150
提交評論