版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 數(shù)字圖像處理</b></p><p><b> 設(shè)計(jì)目的</b></p><p> 數(shù)字圖像處理,就是用數(shù)字計(jì)算機(jī)及其他有關(guān)數(shù)字技術(shù),對(duì)圖像進(jìn)行處理,以達(dá)到預(yù)期的目的。目前圖像處理技術(shù)在許多領(lǐng)域得到了廣泛應(yīng)用,數(shù)字圖像處理已成為電子信息、通信、計(jì)算機(jī)、自動(dòng)化、信號(hào)處理等專(zhuān)業(yè)的重要研究?jī)?nèi)容和課程。</p>
2、;<p> 本課程設(shè)計(jì)旨在了解、熟悉數(shù)字圖像處理的相關(guān)理論后,并進(jìn)行綜合性訓(xùn)練,其目的是: </p><p> 1 了解數(shù)字圖像處理的基本概念、理論、分析方法和實(shí)現(xiàn)方法,提高自學(xué)能力;</p><p> 2 增強(qiáng)應(yīng)用 Matlab 編寫(xiě)應(yīng)用程序及分析、解決實(shí)際問(wèn)題的能力; </p><p> 3 用所學(xué)的內(nèi)容解決實(shí)際工程問(wèn)題,培養(yǎng)工程實(shí)踐能力。
3、</p><p><b> 設(shè)計(jì)要求</b></p><p> 1 按照設(shè)計(jì)任務(wù)書(shū)要求,使用 Matlab 軟件獨(dú)立完成設(shè)計(jì)任務(wù); </p><p> 2 根據(jù)設(shè)計(jì)任務(wù)寫(xiě)出設(shè)計(jì)工作小結(jié),對(duì)設(shè)計(jì)過(guò)程所進(jìn)行的有關(guān)步驟進(jìn)行理論分析,并對(duì)完成的設(shè)計(jì)作出評(píng)價(jià),總結(jié)自己整個(gè)設(shè)計(jì)工作中的經(jīng)驗(yàn)教訓(xùn)、收獲; </p><p> 3
4、 編寫(xiě)課程設(shè)計(jì)說(shuō)明書(shū); </p><p><b> 設(shè)計(jì)內(nèi)容</b></p><p> 1) 獨(dú)立設(shè)計(jì)方案,實(shí)現(xiàn)對(duì)圖像的模糊,圖像復(fù)原,圖像銳化3 種處理。自己設(shè)計(jì)并解決引入運(yùn)動(dòng)模糊,然后對(duì)圖像進(jìn)行復(fù)原的問(wèn)題。</p><p> 2) 參考 matlab 軟件中 GUI 設(shè)計(jì),設(shè)計(jì)軟件界面,對(duì)處理前后的圖像以及直方圖等進(jìn)行對(duì)比顯示;可設(shè)計(jì)
5、菜單式界面,在功能較少的情況下,也可以設(shè)計(jì)按鍵式界面,視功能多少而定;</p><p> 3) 將實(shí)驗(yàn)結(jié)果與其他軟件實(shí)現(xiàn)的效果進(jìn)行比較、分析??偨Y(jié)設(shè)計(jì)過(guò)程所遇到的問(wèn)題。</p><p><b> 設(shè)計(jì)過(guò)程及分析論證</b></p><p> 一.對(duì)圖像進(jìn)行模糊,去模糊,銳化處理。</p><p> 1 了解利用m
6、atlab處理圖像的基本原理,即采用特定的算法對(duì)數(shù)字圖像進(jìn)行處理,以獲取視覺(jué),接口輸入的軟硬件所需要數(shù)字圖像的過(guò)程。數(shù)字圖像處理的基礎(chǔ)科目是數(shù)學(xué),主要進(jìn)行各種算法設(shè)計(jì)和算法的實(shí)現(xiàn)。形象點(diǎn)說(shuō),在這里數(shù)字圖像處理也叫計(jì)算機(jī)圖像處理,從本質(zhì)上說(shuō),就是運(yùn)用計(jì)算機(jī)強(qiáng)大的計(jì)算能力和記憶能力,對(duì)圖像矩陣做某種運(yùn)算,變換,修飾和處理,最終實(shí)現(xiàn)圖像的評(píng)價(jià),識(shí)別和理解。</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將其從存儲(chǔ)空間讀出并顯示出來(lái)。</p><p> 注意Sunset這個(gè)圖像必須在工作空間當(dāng)中。</p><p> 2)自定義一個(gè)函數(shù):</p><p>
9、; h=fspecial(‘type’,parameter)其中,參數(shù)type指定濾波器的種類(lèi),parameter是與濾波器種類(lèi)有關(guān)的具體參數(shù),例如自定義一個(gè)按照11度角度移動(dòng)31個(gè)像素的運(yùn)動(dòng)濾波器。</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> 模糊處理即引入運(yùn)動(dòng)模糊</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è)計(jì)GUI界面</b></p><p> 1.新建一個(gè)GUI界面選擇GUI with Axes and Menu。本次設(shè)計(jì)的界面需要用到的有下拉菜單,按鍵,坐標(biāo)軸三個(gè)模塊。將三個(gè)模塊拖拽到設(shè)計(jì)界面上,然后將三個(gè)模塊復(fù)制,黏貼到該界面上。一套用于原圖象的顯
18、示,在下拉菜單string參數(shù)一欄填上‘選擇參數(shù)’,另一套用于處理后圖像的顯示,在下拉菜單string參數(shù)一欄填上‘模糊’‘去模糊’‘銳化’。</p><p> 2.點(diǎn)擊M_file Editer鍵進(jìn)入編程界面,編寫(xiě)回調(diào)函數(shù)</p><p><b> 程序代碼及運(yùn)行結(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> 運(yùn)行結(jié)果:</b></p><p><b> 模糊處理:</b></p><p><b> 去模糊處理:</b></p><p><b> 銳化處理:</b></p>&
47、lt;p><b> 設(shè)計(jì)心得體會(huì)</b></p><p> 由于這次課程設(shè)計(jì)的內(nèi)容是我們從沒(méi)有接觸過(guò)的,所以剛開(kāi)始的時(shí)候有點(diǎn)盲目,不知道該從什么地方下手。老師讓我們從最基本的概念認(rèn)識(shí)做起。我們就去圖書(shū)館找了基本關(guān)于圖像處理的書(shū)籍,了解圖像處理的基本知道后,就開(kāi)始上機(jī)嘗試編簡(jiǎn)單程序。慢慢的從最基本的例題模仿著手,到自己編寫(xiě)程序處理圖片。最后在設(shè)計(jì)界面的時(shí)候,我們遇到了同樣的問(wèn)題,但這
48、次,我們信心滿滿,沒(méi)有盲目的去做,最后成功完成。</p><p> 當(dāng)自己第一次成功的時(shí)候,心里真是興奮極了。通過(guò)這次課設(shè),我知道陌生的東西和問(wèn)題并不可怕,只要認(rèn)真對(duì)待,找到方法,就能輕而易舉的解決,對(duì)自己也有了很大的信心。</p><p> 以后不管在學(xué)習(xí)上還是生活上,再遇到這樣陌生的問(wèn)題,我也能做到坦然對(duì)待,認(rèn)真分析,最終圓滿解決。</p><p> 參考
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字圖像處理課程設(shè)計(jì) (2)
- 數(shù)字圖像處理課程設(shè)計(jì)
- 數(shù)字圖像處理課程設(shè)計(jì)
- 數(shù)字圖像處理課程設(shè)計(jì)
- 數(shù)字圖像處理課程設(shè)計(jì)--數(shù)字圖像處理系統(tǒng)
- 數(shù)字圖像處理課程設(shè)計(jì)
- 數(shù)字圖像處理課程設(shè)計(jì)
- 數(shù)字圖像處理課程設(shè)計(jì)--基于matlab的數(shù)字圖像處理
- 數(shù)字圖像處理課程設(shè)計(jì)--基于matlab的數(shù)字圖像處理
- 數(shù)字圖像處理課程設(shè)計(jì)論文
- 數(shù)字圖像處理課程設(shè)計(jì)1
- 數(shù)字圖像處理課程設(shè)計(jì)--實(shí)現(xiàn)簡(jiǎn)單的數(shù)字圖像處理功能
- 數(shù)字圖像處理課程設(shè)計(jì)--人臉檢測(cè)
- 圖像處理課程設(shè)計(jì)--基于matlab的數(shù)字圖像處理
- 數(shù)字圖像課程設(shè)計(jì)
- 數(shù)字圖像處理dct變換課程設(shè)計(jì)
- 2013數(shù)字圖像處理課程設(shè)計(jì)報(bào)告
- 數(shù)字圖像處理-課程設(shè)計(jì)報(bào)告-matlab
- 武漢紡織大學(xué)《數(shù)字圖像處理》課程設(shè)計(jì)
- 信息方向課程設(shè)計(jì)報(bào)告---數(shù)字圖像處理
評(píng)論
0/150
提交評(píng)論