




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄第一章 設(shè)計(jì)任務(wù)及要求11.1設(shè)計(jì)依據(jù)11.2課程設(shè)計(jì)內(nèi)容11.3課程設(shè)計(jì)要求1第二章 設(shè)計(jì)原理22.1設(shè)計(jì)題目分析22.2 設(shè)計(jì)原理2第三章 設(shè)計(jì)實(shí)現(xiàn)43.1 菜單欄編輯43.2 控件及代碼的加入63.2.2 控件按鈕的創(chuàng)建73.2.3 控件代碼加入83.4 圖像灰度處理93.5 亮度調(diào)節(jié)93.6 底片處理113.7 直方圖均衡化12第四章 結(jié)果分析及總結(jié)13第五章 參考文獻(xiàn)14第六章 附錄1514第一章 設(shè)計(jì)任務(wù)及要求1.1設(shè)計(jì)依據(jù)在掌握數(shù)字圖像處理基本算法的基礎(chǔ)上,利用MATLAB軟件設(shè)計(jì)具有指定功能的1.2課程設(shè)計(jì)內(nèi)容設(shè)計(jì)一個(gè)或包含子界面的圖形用戶界面,該界面可以讀入任意格式的圖片
2、并在一個(gè)圖片窗口中顯示,同時(shí)包含下拉列表或按鈕等控件,用戶可以從中選擇不同的圖像增強(qiáng)功能及參數(shù),例如:對比度調(diào)節(jié),灰度變換,圖像銳化,圖像濾波等功能,讀入的圖片會根據(jù)選擇在新的圖片窗口中顯示不同的處理結(jié)果。 1.3課程設(shè)計(jì)要求(1)要求每個(gè)同學(xué)獨(dú)立完成設(shè)計(jì)任務(wù)。(2)課程設(shè)計(jì)說明書封面格式要求見課程設(shè)計(jì)說明書格式要求。(3)課程設(shè)計(jì)的說明書要求簡潔、通順,圖像表達(dá)內(nèi)容完整、清楚、規(guī)范。(4)課程設(shè)計(jì)說明書要求:(5)說明題目的設(shè)計(jì)原理和思路、采用方法及設(shè)計(jì)流程。(6)可采用圖表或文字對圖形用戶界面各子模塊的功能以及各子模塊之間的關(guān)系做較詳細(xì)的描述。(7)詳細(xì)說明MATLAB代碼的編寫流程。(8
3、)采用圖像及文字詳細(xì)說明各功能的演示結(jié)果。(9)界面功能自行增加,涉及的算法越多越好。第2章 設(shè)計(jì)原理2.1設(shè)計(jì)題目分析課程設(shè)計(jì)題目要求運(yùn)用所學(xué)的圖像增強(qiáng)技術(shù)知識設(shè)計(jì)一個(gè)GUI界面程序,通過界面控件對給定圖像完成各種圖像增強(qiáng)的功能。功能中包含一系列圖像增強(qiáng)方式,有對比度調(diào)節(jié),灰度變換,圖像銳化,圖像濾波等功能。在菜單欄中還有圖像的打開及保存等一系列的按鈕。2.2 設(shè)計(jì)原理通過學(xué)習(xí)數(shù)字圖像處理這一門學(xué)科,以及Matlab這一軟件。制作圖像處理GUI人機(jī)交換界面,以方便使用。設(shè)計(jì)中,通過界面上的控件操作對圖像進(jìn)行簡單的處理,而控件通過后臺代碼實(shí)現(xiàn)各種不同的操作功能。在界面中,人們能看到的控件分為三
4、大類:圖像顯示模塊,功能控件模塊,以及菜單欄模塊。(1) 圖像顯示模塊:打開原圖像即沒有處理過的圖像會在第一個(gè)圖像顯示窗口中顯示,第二個(gè)窗口為顯示通過一定處理后的圖像。 圖 1 顯示模塊(2) 功能控件模塊:打開與圖像后,通過功能控件對對象進(jìn)行簡單的處理操作,使得通過不同控件操作后的圖像在第二個(gè)顯示框中顯示。創(chuàng)建完成界面效果圖如下。 圖 2 創(chuàng)建完成后的GUI界面 第3章 設(shè)計(jì)實(shí)現(xiàn)3.1 菜單欄編輯 通過Menu Editor創(chuàng)建如下菜單,通過以下菜單來打開圖像即保存圖像功能按鍵實(shí)現(xiàn)圖像的讀取與保存。 圖 3 菜單欄編輯 圖 4 打開文件圖像該菜單按鈕是通過利用matlab中 “ uigetf
5、ile”、“imread” “imshow”實(shí)現(xiàn)圖像文件的讀取與顯示:主程序:filename,pathname=uigetfile('*.jpg''*.bmp''*.tif''*.*','載入圖像');if isequal(filename,0)|isequal(pathname,0) errordlg('沒有選中文件','出錯'); return;else file=pathname,filename; global S %設(shè)置一個(gè)全局變量S,保存初始圖像路徑,以便之后的還原操作
6、 S=file; x=imread(file); set(handles.axes1,'HandleVisibility','ON'); axes(handles.axes1); imshow(x); set(handles.axes1,'HandleVisibility','OFF'); axes(handles.axes2); imshow(x); handles.img=x; guidata(hObject,handles);End利用“uiputfile”、“imwrite”函數(shù)實(shí)現(xiàn)圖像文件的保存。 圖 5 圖像保存主程序
7、如下:function save_Callback(hObject, eventdata, handles)% hObject handle to save (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) sfilename ,sfilepath=uiputfile('*.jpg''*.bmp''*.tif''*.*
8、','保存圖像','untitled.jpg'); if isequal(sfilename,sfilepath,0,0) sfilefullname=sfilepath ,sfilename; imwrite(handles.img,sfilefullname); else msgbox('你按了取消鍵','保存失敗'); end3.2 控件及代碼的加入3.2.1 GUI窗口的創(chuàng)建 打開 Matlab后,在命令行里面敲入命令“Guide”后按回車鍵或是在菜單欄“File”、“New”、“Gui”創(chuàng)建GUI界面,然后彈出一
9、個(gè)對話框,用鼠標(biāo)單擊“OK”,即可創(chuàng)建一個(gè)新的GUI界面。打開界面效果圖如下: 圖 6 創(chuàng)建GUI界面 圖 7 創(chuàng)建GUI界面 3.2.2 控件按鈕的創(chuàng)建在創(chuàng)建GUI界面完成后,在界面的左邊有一系列的控件按鈕,只需要用鼠標(biāo)點(diǎn)擊,然后在界面中再次單擊及拖動鼠標(biāo)即可,大小及位置在界面中更改。這樣就可以創(chuàng)建所需要的控件按鈕。效果圖如下: 圖 8 按鈕的創(chuàng)建創(chuàng)建按鈕完成以后,雙擊按鈕可以更改控件的屬性。效果圖如下: 圖 9 按鈕屬性窗口3.2.3 控件代碼加入創(chuàng)建控件按鈕完成以后,鼠標(biāo)右擊控件按鈕,選擇“View callbacks” “Callback”單擊,出現(xiàn).M文件的程序代碼,在控件按鈕代碼“
10、function pushbutton1_Callback(hObject, eventdata, handles)”的下方加入已經(jīng)改好的控件功能代碼,后單擊菜單欄上面的“”即可運(yùn)行程序。 圖 10 .M文件代碼通過這樣的方法可以加入多個(gè)功能控件,實(shí)現(xiàn)不同的圖像處理功能的GUI界面。 3.4 圖像灰度處理 通過界面上的灰度處理控件對彩色圖像進(jìn)行灰度處理,使得原來本是彩色的圖片通過處理后在第二個(gè)顯示框中變成灰色圖像。 圖 11 灰度處理主要程序:function pushbutton6_Callback(hObject, eventdata, handles)global Taxes(handl
11、es.axes2);13 / 50T=getimage;x=rgb2gray(handles.img);imshow(x);handles.img=x;guidata(hObject,handles);該程序是利用rgb2gray(X)函數(shù)對其他圖像進(jìn)行灰度圖像的轉(zhuǎn)化。3.5 亮度調(diào)節(jié)通過“載入圖像”控件或是菜單欄中的“打開”菜單將圖像在GUI界面上的第一個(gè)圖像顯示框中打開,然后按下控件“亮度調(diào)節(jié)”,會彈出一個(gè)所需要調(diào)節(jié)亮度的值的對話框,在里面輸入數(shù)值以后,在第二個(gè)顯示框中會顯示出通過“亮度調(diào)節(jié)”控件處理后的圖片。 圖 12 輸入亮度值 圖 13 亮度對比前后主要程序:function pus
12、hbutton5_Callback(hObject, eventdata, handles)global Taxes(handles.axes2);T=getimage;prompt='亮度調(diào)節(jié)'defans='1'p=inputdlg(prompt,'input',1,defans);9 / 50p1=str2num(p1);y=imadjust(handles.img, , ,p1); imshow(y);handles.img=y;guidata(hObject,handles);程序通過:defans='1'p=input
13、dlg(prompt,'input',1,defans);定義亮度對話框,而通過函數(shù)語句p1=str2num(p1);y=imadjust(handles.img, , ,p1);對圖像進(jìn)行亮度的轉(zhuǎn)換。3.6 底片處理通過“載入圖像”控件或是菜單欄中的“打開”菜單將圖像在GUI界面上的第一個(gè)圖像顯示框中打開,然后按下控件“底片處理”按鈕操作,對圖像進(jìn)行圖像的底片處理,效果圖如下。 圖 14 底片處理前后對照主程序:function pushbutton9_Callback(hObject, eventdata, handles)axes (handles.axes2);T=ge
14、timage;f=imcomplement(handles.img); %圖像取反imshow(f);handles.img=f;guidata(hObject,handles);程序主要通過函數(shù)f=imcomplement(handles.img); 實(shí)現(xiàn)圖像的取反功能。 3.7 直方圖均衡化 直方圖均衡化的基本思想就是把原始圖像不均衡的直方圖變換為均勻的分布,這樣就增加了灰度值的動態(tài)范圍,從而達(dá)到增強(qiáng)圖像整體對比度的效果。經(jīng)過GUI界面處理前后的照片對比效果如下: 圖 15 直方圖均衡化主程序:set(handles.axes2,'HandleVisibility',
15、9;ON');axes(handles.axes2);h=histeq(handles.img); %直方圖均衡化imshow(h);第4章 結(jié)果分析及總結(jié) 通過幾周的時(shí)間學(xué)習(xí)GUI界面的制作以及所學(xué)課程知識的再次學(xué)習(xí),完成了此次課程設(shè)計(jì)。在過程當(dāng)中,軟件測試基本成功,完成課題所要求的圖像增強(qiáng)功能的實(shí)現(xiàn)。但一些功能只支持灰度圖像的處理。還有的功能沒有實(shí)現(xiàn),我自己認(rèn)為是程序有錯誤,但是檢查很久都沒有檢查出來,還有一個(gè)很大的問題就是當(dāng)程序運(yùn)行以后回頭在看控件代碼時(shí),總是會有亂碼出現(xiàn),在程序當(dāng)中改過來以后還是會自動的改為亂碼,這一點(diǎn)也是我沒有明白的原因。 通過這次課程設(shè)計(jì),使我對 matla
16、b 的使用有了進(jìn)一步的了解和熟悉。當(dāng)我第一次拿到此次的課題時(shí),感到有些無所適從。雖然,曾經(jīng)學(xué)習(xí)過matlab 的課程,但由于對 matlab 的學(xué)習(xí)更多的只是停留在理論上的學(xué)習(xí),在課時(shí)內(nèi)的試驗(yàn)也只是簡單的基礎(chǔ)性試驗(yàn), 所以對 matlab 實(shí)際運(yùn)用不是很熟練。雖然對課題感到很懵懂,但是通過在網(wǎng)上學(xué)習(xí)視頻以后,我開始找到了解決問題的路徑。我選擇的是“利用 matlab 的 GUI 程序設(shè)計(jì)一個(gè)簡單實(shí)用的圖像處理程序”這一課題。本課題的重點(diǎn)是句柄的使用、GUI 的使用以及 matlab 中相關(guān)圖像處理函數(shù)使用。為此,我利用課余時(shí)間,重新復(fù)習(xí)了 matlab 教材,專門借閱了利用 matlab 進(jìn)行圖像處理的相關(guān)教程,通過索引網(wǎng)絡(luò)上的相關(guān)資料,為課設(shè)做了較為充分的準(zhǔn)備。在參考了相關(guān)材料及源程序,我對自己要做的課設(shè)內(nèi)容有了進(jìn)一步的了解,并對 matlab 的使用有了更深的體會。 總體來說,此次的課程設(shè)計(jì),還是較為滿意的。它不但鞭策著我去鞏固 matlab 的基礎(chǔ)理論知識,還提高了我對 matlab 的實(shí)際操作運(yùn)用,使得理論與實(shí)踐相結(jié)合,為進(jìn)一步學(xué)習(xí) matlab 打下堅(jiān)實(shí)的基礎(chǔ);同時(shí),在實(shí)踐的工程中,也讓我體會到一種努力
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)體戶代理記賬合同樣本
- 公司車位出租合同標(biāo)準(zhǔn)文本
- 臨時(shí)勞務(wù)聘請合同樣本
- 代理門窗配件合同標(biāo)準(zhǔn)文本
- 代客戶理財(cái)合同標(biāo)準(zhǔn)文本
- 養(yǎng)豬基地合同標(biāo)準(zhǔn)文本
- 信息集成系統(tǒng)服務(wù)合同標(biāo)準(zhǔn)文本
- 兼職業(yè)務(wù)合同標(biāo)準(zhǔn)文本
- 養(yǎng)殖土地出租合同樣本
- 業(yè)務(wù)配送合同標(biāo)準(zhǔn)文本
- 2024年山西林業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 旅游概論(劉偉主編)(全國高職高專旅游類“十二五”示范教材) 全套課件(上)
- 19J102-1 19G613混凝土小型空心砌塊墻體建筑與結(jié)構(gòu)構(gòu)造
- 2024屆高考二輪復(fù)習(xí)備考 有機(jī)化學(xué)基礎(chǔ) 課件(共35張)
- 貴州省情知識考試總題庫(含答案)
- 女職工權(quán)益保護(hù)
- 抽水蓄能電站工程巖錨梁砼施工監(jiān)理控制措施
- 2022版義務(wù)教育(道德與法治)課程標(biāo)準(zhǔn)(附課標(biāo)解讀)
- 儀容儀表禮節(jié)禮貌培訓(xùn)(定)
- 2023年衢州市屬事業(yè)單位選調(diào)考試真題及答案
- 新生兒口腔行為運(yùn)動干預(yù)
評論
0/150
提交評論