版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 數(shù)字圖像處理</b></p><p><b> 設(shè)計目的</b></p><p> 數(shù)字圖像處理,就是用數(shù)字計算機及其他有關(guān)數(shù)字技術(shù),對圖像進行處理,以達到預(yù)期的目的。目前圖像處理技術(shù)在許多領(lǐng)域得到了廣泛應(yīng)用,數(shù)字圖像處理已成為電子信息、通信、計算機、自動化、信號處理等專業(yè)的重要研究內(nèi)容和課程。</p>
2、;<p> 本課程設(shè)計旨在了解、熟悉數(shù)字圖像處理的相關(guān)理論后,并進行綜合性訓(xùn)練,其目的是: </p><p> 1 了解數(shù)字圖像處理的基本概念、理論、分析方法和實現(xiàn)方法,提高自學(xué)能力;</p><p> 2 增強應(yīng)用 Matlab 編寫應(yīng)用程序及分析、解決實際問題的能力; </p><p> 3 用所學(xué)的內(nèi)容解決實際工程問題,培養(yǎng)工程實踐能力。
3、</p><p><b> 設(shè)計要求</b></p><p> 1 按照設(shè)計任務(wù)書要求,使用 Matlab 軟件獨立完成設(shè)計任務(wù); </p><p> 2 根據(jù)設(shè)計任務(wù)寫出設(shè)計工作小結(jié),對設(shè)計過程所進行的有關(guān)步驟進行理論分析,并對完成的設(shè)計作出評價,總結(jié)自己整個設(shè)計工作中的經(jīng)驗教訓(xùn)、收獲; </p><p> 3
4、 編寫課程設(shè)計說明書; </p><p><b> 設(shè)計內(nèi)容</b></p><p> 1) 獨立設(shè)計方案,實現(xiàn)對圖像的模糊,圖像復(fù)原,圖像銳化3 種處理。自己設(shè)計并解決引入運動模糊,然后對圖像進行復(fù)原的問題。</p><p> 2) 參考 matlab 軟件中 GUI 設(shè)計,設(shè)計軟件界面,對處理前后的圖像以及直方圖等進行對比顯示;可設(shè)計
5、菜單式界面,在功能較少的情況下,也可以設(shè)計按鍵式界面,視功能多少而定;</p><p> 3) 將實驗結(jié)果與其他軟件實現(xiàn)的效果進行比較、分析??偨Y(jié)設(shè)計過程所遇到的問題。</p><p><b> 設(shè)計過程及分析論證</b></p><p> 一.對圖像進行模糊,去模糊,銳化處理。</p><p> 1 了解利用m
6、atlab處理圖像的基本原理,即采用特定的算法對數(shù)字圖像進行處理,以獲取視覺,接口輸入的軟硬件所需要數(shù)字圖像的過程。數(shù)字圖像處理的基礎(chǔ)科目是數(shù)學(xué),主要進行各種算法設(shè)計和算法的實現(xiàn)。形象點說,在這里數(shù)字圖像處理也叫計算機圖像處理,從本質(zhì)上說,就是運用計算機強大的計算能力和記憶能力,對圖像矩陣做某種運算,變換,修飾和處理,最終實現(xiàn)圖像的評價,識別和理解。</p><p> 2 查閱相關(guān)資料,了解熟悉圖像讀入函數(shù)im
7、read,顯示函數(shù)imshow,自定義函數(shù)fspecial,復(fù)原函數(shù)imfilter等函數(shù)的基本用法,為下面的編程打下基礎(chǔ)。另外還需熟悉低通濾波,高通濾波,魏納濾波等基本處理方法。</p><p><b> 3 基本操作:</b></p><p> 1)讀入并顯示一副圖像:</p><p> I=imread(’Sunset.jpg’);
8、</p><p><b> inshow(I)</b></p><p> 此imread函數(shù)相當(dāng)于采集圖像的信息存在變量I中,而inshow將其從存儲空間讀出并顯示出來。</p><p> 注意Sunset這個圖像必須在工作空間當(dāng)中。</p><p> 2)自定義一個函數(shù):</p><p>
9、; h=fspecial(‘type’,parameter)其中,參數(shù)type指定濾波器的種類,parameter是與濾波器種類有關(guān)的具體參數(shù),例如自定義一個按照11度角度移動31個像素的運動濾波器。</p><p><b> len=31;</b></p><p><b> theta=11;</b></p><p&g
10、t; h=fspecial(‘motion’,len,theta);</p><p> 利用此函數(shù),用戶可以靈活定義濾波或干擾函數(shù)。</p><p> 3)濾波函數(shù)的使用:</p><p> I2=imfilter(I,h)其中,I是待濾波的圖像,h為自定義濾波器函數(shù)。</p><p><b> 4編程:</b>
11、;</p><p> 模糊處理即引入運動模糊</p><p> m=imread(‘Sunset.jpg’);</p><p><b> len=31;</b></p><p><b> theta=11;</b></p><p> psf=fspecial(‘mo
12、tion’,len,theta);</p><p> blurred=imfilter(m,psf,‘circular',‘conv');</p><p> imshow(blurred);</p><p><b> 去模糊處理</b></p><p> m=imread(‘Sunset.jpg&
13、#39;);</p><p><b> len=31;</b></p><p><b> theta=11;</b></p><p> psf=fspecial(‘motion',len,theta);</p><p> blurred=imfilter(m,psf,‘circula
14、r',‘conv');</p><p> wnr1=deconvwnr(blurred,psf);</p><p> imshow(wnr1);</p><p><b> 銳化處理</b></p><p> m=imread(‘Sunset.jpg');</p><p&
15、gt;<b> len=31;</b></p><p><b> theta=11;</b></p><p> psf=fspecial(‘motion',len,theta);</p><p> blurred=imfilter(m,psf,‘circular',‘conv');</
16、p><p> wnr1=deconvwnr(blurred,psf);</p><p> wnr1=double(wnr1);</p><p> [Gx,Gy]=gradient(wnr1);</p><p> G=sqrt(Gx.*Gx+Gy.*Gy);</p><p><b> j=G;</b
17、></p><p> imshow(j,[]);</p><p><b> 二.設(shè)計GUI界面</b></p><p> 1.新建一個GUI界面選擇GUI with Axes and Menu。本次設(shè)計的界面需要用到的有下拉菜單,按鍵,坐標軸三個模塊。將三個模塊拖拽到設(shè)計界面上,然后將三個模塊復(fù)制,黏貼到該界面上。一套用于原圖象的顯
18、示,在下拉菜單string參數(shù)一欄填上‘選擇參數(shù)’,另一套用于處理后圖像的顯示,在下拉菜單string參數(shù)一欄填上‘模糊’‘去模糊’‘銳化’。</p><p> 2.點擊M_file Editer鍵進入編程界面,編寫回調(diào)函數(shù)</p><p><b> 程序代碼及運行結(jié)果</b></p><p><b> 程序源代碼:</
19、b></p><p> function varargout = yy2(varargin)</p><p> gui_Singleton = 1;</p><p> gui_State = struct('gui_Name', mfilename, ...</p><p> 'gui_Sin
20、gleton', gui_Singleton, ...</p><p> 'gui_OpeningFcn', @yy2_OpeningFcn, ...</p><p> 'gui_OutputFcn', @yy2_OutputFcn, ...</p><p> 'gui_LayoutFcn', []
21、 , ...</p><p> 'gui_Callback', []);</p><p> if nargin && ischar(varargin{1})</p><p> gui_State.gui_Callback = str2func(varargin{1});</p><p><b&g
22、t; end</b></p><p> if nargout</p><p> [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});</p><p><b> else</b></p><p> gui_mainfcn(gui_S
23、tate, varargin{:});</p><p><b> end</b></p><p> function yy2_OpeningFcn(hObject, eventdata, handles, varargin)</p><p> handles.output = hObject;</p><p>
24、guidata(hObject, handles);</p><p> if strcmp(get(hObject,'Visible'),'off')</p><p> plot(rand(5));</p><p><b> end</b></p><p> function va
25、rargout = yy2_OutputFcn(hObject, eventdata, handles)</p><p> varargout{1} = handles.output;</p><p> function pushbutton1_Callback(hObject, eventdata, handles)</p><p> axes(handle
26、s.axes1);</p><p><b> cla;</b></p><p><b> global m;</b></p><p> popup_sel_index = get(handles.popupmenu1, 'Value');</p><p> switch po
27、pup_sel_index</p><p><b> case 1</b></p><p> [fname pname index]=uigetfile({'*.jpg';'*.bmp'},'選擇圖片');</p><p><b> if index</b></p
28、><p> str=[pname fname];</p><p> m=imread(str);</p><p> imshow(m);</p><p><b> end</b></p><p><b> end</b></p><p> fu
29、nction FileMenu_Callback(hObject, eventdata, handles)</p><p> function OpenMenuItem_Callback(hObject, eventdata, handles)</p><p> file = uigetfile('*.fig');</p><p> if ~i
30、sequal(file, 0)</p><p> open(file);</p><p><b> end</b></p><p> function PrintMenuItem_Callback(hObject, eventdata, handles)</p><p> %-------------------
31、-------------------------------</p><p> function CloseMenuItem_Callback(hObject, eventdata, handles)</p><p> selection = questdlg(['Close ' get(handles.figure1,'Name') '?
32、39;],...</p><p> ['Close ' get(handles.figure1,'Name') '...'],...</p><p> 'Yes','No','Yes');</p><p> if strcmp(selection,'No
33、39;)</p><p><b> return;</b></p><p><b> end</b></p><p> delete(handles.figure1)</p><p> function popupmenu1_Callback(hObject, eventdata, hand
34、les)</p><p> function popupmenu1_CreateFcn(hObject, eventdata, handles)</p><p><b> if ispc</b></p><p> set(hObject,'BackgroundColor','white');</p&g
35、t;<p> else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));</p><p><b> end</b></p><p> set(hObject, 'String', {'選擇圖片
36、39;});</p><p> function popupmenu2_Callback(hObject, eventdata, handles)</p><p> function popupmenu2_CreateFcn(hObject, eventdata, handles)</p><p><b> if ispc</b><
37、/p><p> set(hObject,'BackgroundColor','white');</p><p> else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));</p><p><b&g
38、t; end</b></p><p> set(hObject, 'String', {'模糊', '去模糊','銳化'});</p><p> function pushbutton4_Callback(hObject, eventdata, handles)</p><p> a
39、xes(handles.axes2);</p><p><b> cla;</b></p><p><b> global m;</b></p><p> popup_sel_index = get(handles.popupmenu2, 'Value');</p><p>
40、 switch popup_sel_index</p><p><b> case 1</b></p><p><b> len=31;</b></p><p><b> theta=11;</b></p><p> psf=fspecial('motion
41、39;,len,theta);</p><p> blurred=imfilter(m,psf,'circular','conv');</p><p> imshow(blurred);</p><p><b> case 2</b></p><p><b> len=3
42、1;</b></p><p><b> theta=11;</b></p><p> psf=fspecial('motion',len,theta);</p><p> blurred=imfilter(m,psf,'circular','conv');</p>
43、<p> wnr1=deconvwnr(blurred,psf);</p><p> imshow(wnr1);</p><p><b> case 3</b></p><p><b> len=31;</b></p><p><b> theta=11;</b&
44、gt;</p><p> psf=fspecial('motion',len,theta);</p><p> blurred=imfilter(m,psf,'circular','conv');</p><p> wnr1=deconvwnr(blurred,psf);</p><p>
45、 wnr1=double(wnr1);</p><p> [Gx,Gy]=gradient(wnr1);</p><p> G=sqrt(Gx.*Gx+Gy.*Gy);</p><p><b> j=G;</b></p><p> imshow(j,[]);</p><p><b&
46、gt; End</b></p><p><b> 運行結(jié)果:</b></p><p><b> 模糊處理:</b></p><p><b> 去模糊處理:</b></p><p><b> 銳化處理:</b></p>&
47、lt;p><b> 設(shè)計心得體會</b></p><p> 由于這次課程設(shè)計的內(nèi)容是我們從沒有接觸過的,所以剛開始的時候有點盲目,不知道該從什么地方下手。老師讓我們從最基本的概念認識做起。我們就去圖書館找了基本關(guān)于圖像處理的書籍,了解圖像處理的基本知道后,就開始上機嘗試編簡單程序。慢慢的從最基本的例題模仿著手,到自己編寫程序處理圖片。最后在設(shè)計界面的時候,我們遇到了同樣的問題,但這
48、次,我們信心滿滿,沒有盲目的去做,最后成功完成。</p><p> 當(dāng)自己第一次成功的時候,心里真是興奮極了。通過這次課設(shè),我知道陌生的東西和問題并不可怕,只要認真對待,找到方法,就能輕而易舉的解決,對自己也有了很大的信心。</p><p> 以后不管在學(xué)習(xí)上還是生活上,再遇到這樣陌生的問題,我也能做到坦然對待,認真分析,最終圓滿解決。</p><p> 參考
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字圖像處理課程設(shè)計 (2)
- 數(shù)字圖像處理課程設(shè)計
- 數(shù)字圖像處理課程設(shè)計
- 數(shù)字圖像處理課程設(shè)計
- 數(shù)字圖像處理課程設(shè)計--數(shù)字圖像處理系統(tǒng)
- 數(shù)字圖像處理課程設(shè)計--基于matlab的數(shù)字圖像處理
- 數(shù)字圖像處理課程設(shè)計
- 數(shù)字圖像處理課程設(shè)計
- 數(shù)字圖像處理課程設(shè)計--基于matlab的數(shù)字圖像處理
- 數(shù)字圖像處理課程設(shè)計論文
- 數(shù)字圖像處理課程設(shè)計1
- 數(shù)字圖像處理課程設(shè)計--實現(xiàn)簡單的數(shù)字圖像處理功能
- 數(shù)字圖像處理課程設(shè)計--人臉檢測
- 圖像處理課程設(shè)計--基于matlab的數(shù)字圖像處理
- 數(shù)字圖像課程設(shè)計
- 數(shù)字圖像處理-課程設(shè)計報告-matlab
- 數(shù)字圖像處理dct變換課程設(shè)計
- 2013數(shù)字圖像處理課程設(shè)計報告
- 武漢紡織大學(xué)《數(shù)字圖像處理》課程設(shè)計
- 信息方向課程設(shè)計報告---數(shù)字圖像處理
評論
0/150
提交評論