




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué) 號(hào) 數(shù)字圖像處理 課程設(shè)計(jì)說(shuō)明書(shū)圖像邊緣檢測(cè)系統(tǒng)設(shè)計(jì)起止日期: 2016 年 12 月 5 日 至 2016 年 12 月 9 日學(xué)生姓名班級(jí)13電信科1班1 / 21成績(jī)指導(dǎo)教師(簽字)計(jì)算機(jī)與信息工程學(xué)院電子信息工程系2016年12月9日課程設(shè)計(jì)任務(wù)書(shū)20162017學(xué)年第一學(xué)期計(jì)算機(jī)與信息工程學(xué)院 電子信息與科學(xué)技術(shù) 專(zhuān)業(yè) 1 班級(jí)課程設(shè)計(jì)名稱(chēng): 數(shù)字圖像處理課程設(shè)計(jì) 設(shè)計(jì)題目: 圖像邊緣檢測(cè)系統(tǒng)設(shè)計(jì) 完成期限:自 2016 年 12 月 5 日至 2016 年 12 月 9 日共 1 周一、課程設(shè)計(jì)依據(jù)在掌握數(shù)字圖像處理基本算法的基礎(chǔ)上,利用MATLAB、VC+、Java等編程語(yǔ)言
2、設(shè)計(jì)具有指定功能的圖形用戶(hù)界面。二、課程設(shè)計(jì)內(nèi)容1、設(shè)計(jì)一個(gè)實(shí)現(xiàn)圖像邊緣檢測(cè)功能的界面2、界面可以采用MATLAB、VC+、Java等編程語(yǔ)言設(shè)計(jì)3、要求界面能夠讀入并顯示圖片,通過(guò)各種控件選擇并進(jìn)行圖像的邊緣檢測(cè)操作,操作結(jié)果在對(duì)比窗口中顯示4、圖像邊緣檢測(cè)功能至少包括單方向一階微分檢測(cè)(水平/垂直方向)、無(wú)方向微分檢測(cè)(Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子)等,每項(xiàng)功能可采用一個(gè)或多個(gè)算法實(shí)現(xiàn)三課程設(shè)計(jì)要求1、 要求每個(gè)同學(xué)獨(dú)立完成設(shè)計(jì)任務(wù)。2、 課程設(shè)計(jì)說(shuō)明書(shū)封面格式要求見(jiàn)課程設(shè)計(jì)說(shuō)明書(shū)格式要求。3、 課程設(shè)計(jì)的說(shuō)明書(shū)要求簡(jiǎn)潔、通順,
3、圖像表達(dá)內(nèi)容完整、清楚、規(guī)范。4、 課程設(shè)計(jì)說(shuō)明書(shū)要求:1) 說(shuō)明題目的設(shè)計(jì)原理和思路、采用方法及設(shè)計(jì)流程。2) 可采用圖表或文字對(duì)圖形用戶(hù)界面各子模塊的功能以及各子模塊之間的關(guān)系做較詳細(xì)的描述。3) 詳細(xì)說(shuō)明代碼的編寫(xiě)流程。4) 采用圖像及文字詳細(xì)說(shuō)明各功能的演示結(jié)果。指導(dǎo)教師(簽字): 系主任(簽字): 批準(zhǔn)日期:2016年 12月 1日目 錄第1章 總體設(shè)計(jì)11.1 設(shè)計(jì)目的11.2 設(shè)計(jì)方案1第2章GUI界面設(shè)計(jì)22.1 啟動(dòng)GUI界面22.2 控件設(shè)計(jì)3第3章 運(yùn)行結(jié)果及主要程序63.1 邊緣檢測(cè)的步驟及結(jié)果63.2 主要程序8總 結(jié)11參考文獻(xiàn)12第1章 總體設(shè)計(jì)1.1 設(shè)計(jì)目的設(shè)
4、計(jì)一個(gè)實(shí)現(xiàn)圖像邊緣檢測(cè)功能的界面,通過(guò)各種控件選擇并進(jìn)行圖像的邊緣檢測(cè)操作,操作結(jié)果在對(duì)比窗口中顯示,完成一個(gè)簡(jiǎn)單的圖片處理。1.2 設(shè)計(jì)方案先通過(guò)GUI可視化界面窗口設(shè)計(jì)一個(gè)對(duì)用戶(hù)使用起來(lái)相對(duì)方便的界面布局,然后針對(duì)界面上的每一個(gè)控件進(jìn)行腳本函數(shù)的編寫(xiě),以實(shí)現(xiàn)每一個(gè)控件的相應(yīng)功能。需要實(shí)現(xiàn)的功能:圖片的讀取與顯示,圖片的對(duì)比顯示和存儲(chǔ),彩色圖片到灰度圖像的轉(zhuǎn)換,圖片的各種算子邊緣檢測(cè)并顯示(Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子等),并增加了退出程序按鈕,最終生成一個(gè)可執(zhí)行軟件。軟件的總體設(shè)計(jì)界面布局如圖1-1所示,主要分為2個(gè)部分:顯示區(qū)
5、域與操作區(qū)域。 顯示區(qū)域:顯示載入原圖,以及通過(guò)處理后的圖像。 操作區(qū)域:通過(guò)功能鍵實(shí)現(xiàn)對(duì)圖像的各種處理。在截圖中可見(jiàn),左部為一系列功能按鍵有“讀取圖片”、“二值化”、“灰度化”三個(gè)按鈕。界面右部分為圖片顯示部分,下方有“存儲(chǔ)圖片”、“退出”功能鍵。界面中間方為系列功能切換選擇組包括單方向一階微分檢測(cè)(水平/垂直方向)、無(wú)方向微分檢測(cè)(Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子)等。圖1-1 設(shè)計(jì)界面圖第2章GUI界面設(shè)計(jì)2.1 啟動(dòng)GUI界面 通過(guò)單擊MATLAB菜單項(xiàng)“Home”->“New”->“Graphical User I
6、nterface”,顯示GUI開(kāi)發(fā)環(huán)境的啟動(dòng)窗口,也可在命令窗口輸入命令:guide打開(kāi)GUIDE啟動(dòng)界面,如下圖2-1所示。彈出GUIDE Quick Start對(duì)話(huà)框,如圖2-2所示。選擇Blank GUI,打開(kāi)版圖編程器如圖2-3。圖2-1 命令窗口圖2-2 GUI啟動(dòng)窗口圖2-3 版圖編輯器2.2控件設(shè)計(jì)1. button按鈕 利用版圖編輯器在布局區(qū)添加按鈕,雙擊控件調(diào)出屬性編輯器,對(duì)其進(jìn)行屬性設(shè)計(jì)。String表示控件的顯示信息,Tag表示控件的唯一標(biāo)識(shí)符。圖2-4按鈕控件的設(shè)置 右擊button選擇“Callback”選項(xiàng),定位該控件的回調(diào)函數(shù)。如下圖所示。圖2-5查看button
7、回調(diào)函數(shù)回調(diào)函數(shù)初始代碼:function pushbutton3_Callback(hObject, eventdata, handles)pushbutton3_Callback是按鈕的回調(diào)函數(shù),Callback函數(shù)是當(dāng)用戶(hù)每次觸發(fā)GUI對(duì)象時(shí)執(zhí)行的回調(diào)函數(shù);hObject為當(dāng)前回調(diào)函數(shù)對(duì)應(yīng)的GUI對(duì)象的句柄; eventdata表示事件代碼;handles為當(dāng)前GUI所有數(shù)據(jù)的結(jié)構(gòu)體,包含所有GUI對(duì)象的句柄和用戶(hù)定義的數(shù)據(jù)。2. 按鈕組 為方便編程,采用按鈕組進(jìn)行算法實(shí)現(xiàn),利用版圖編輯器的按鈕組,添加單選按鈕到按鈕組。如圖2-6所示。圖2-6按鈕組 右擊按鈕組選擇SelectionCh
8、angeFcn選項(xiàng),定位該控件的回調(diào)函數(shù),如圖2-7所示。圖2-7查看按鈕組回調(diào) 回調(diào)函數(shù)初始代碼:function uipanel1_SelectionChangeFcn(hObject, eventdata, handles),程序代碼見(jiàn)附錄。 搭建結(jié)果界面截圖如2-6所示。圖2-8 設(shè)計(jì)界面圖 設(shè)計(jì)完成后運(yùn)行的軟件界面如圖2-9所示,點(diǎn)擊按鈕組里算法選項(xiàng)可看到程序運(yùn)行結(jié)果,程序見(jiàn)附錄。圖2-9 運(yùn)行界面圖第3章 運(yùn)行結(jié)果及主要程序3.1邊緣檢測(cè)的步驟及結(jié)果 一般來(lái)說(shuō),邊緣檢測(cè)的算法有如下四個(gè)步驟: 1)濾波:邊緣檢測(cè)算法主要是基于圖像增強(qiáng)的一階和二階導(dǎo)數(shù),但導(dǎo)數(shù)的 計(jì)算對(duì)噪聲很敏感,因此
9、必須使用濾波器來(lái)改善與噪聲有關(guān)的邊緣檢測(cè)器的性能。 2)增強(qiáng):增強(qiáng)邊緣的基礎(chǔ)是確定圖像各點(diǎn)鄰域強(qiáng)度的變化值。增強(qiáng)算法可以將鄰域(或局部)強(qiáng)度之有顯著變化的點(diǎn)突顯出來(lái)。邊緣增強(qiáng)一般都是通過(guò)計(jì)算梯度幅值來(lái)完成的。 3)檢測(cè):在圖像中有許多點(diǎn)的梯度幅值比較大,而這些點(diǎn)在特定的應(yīng)用領(lǐng)域中并不都是邊緣,所以應(yīng)該用某種方法來(lái)確定哪些是邊緣點(diǎn)。最簡(jiǎn)單的邊緣檢測(cè)判據(jù)是梯度幅值閾值判據(jù)。4)定位:如果某一應(yīng)用場(chǎng)合要求確定邊緣位置,則邊緣的位置可在子像素分辨率上來(lái)估計(jì),邊緣的方位也可以被估計(jì)出來(lái)。圖3-1 算子運(yùn)行結(jié)果(1)圖3-2 算子運(yùn)行結(jié)果(2)1.一階微分作為坐標(biāo)點(diǎn)(x,y)處的灰度傾斜度的一階微分值,可
10、以用具有大小和方向的向量表示如下:其中,為x方向的微分,為y方向的微分。和在數(shù)字圖像中是用下式計(jì)算的:微分值和被求出后,由以下的公式就能算出邊緣的強(qiáng)度與方向。強(qiáng)度:或者 ,方向:向量的朝向。2. Roberts算子,邊緣定位精度較高,但容易丟失一部分邊緣,同時(shí)圖像沒(méi)經(jīng)過(guò)平滑處理,所以不具備抑制噪聲的能力。該算子適用于具有陡峭邊緣且含噪聲少的圖像。3. Sobel算子和Prewitt算子,對(duì)噪聲具有一定抑制能力,但不能完全排除虛假邊緣。定位效果不錯(cuò)但容易產(chǎn)生多像素邊緣。4.LOG算子,抑制噪聲會(huì)將尖銳的邊緣平滑掉而無(wú)法被檢測(cè)到。當(dāng)高斯濾波器寬度參數(shù)取值較小時(shí),邊緣定位精度高,但圖像平滑作用較弱;
11、增大取值時(shí),又導(dǎo)致模板增大,使邊緣位置偏移嚴(yán)重,且運(yùn)動(dòng)量增加。5.Canny算子,當(dāng)弱邊緣和強(qiáng)邊緣相連時(shí),才輸出弱邊緣,檢測(cè)效果要比LOG算子好。6.拉普拉斯算子,不依賴(lài)于邊緣方向的二階微分算子,定位準(zhǔn)確,對(duì)噪聲非常敏感,使噪聲加強(qiáng),從而使部分信息丟失,造成一些不連續(xù)的邊緣。 由上可知,算子不同,結(jié)果存在明顯差異,但是在原始圖像上邊緣明顯的部分都被有效的提取出來(lái)了。Roberts算子檢測(cè)出的邊緣線(xiàn)比較清晰,但噪聲大多也同時(shí)提取出來(lái)了。對(duì)于模糊部分取差分間隔寬的Sobel算子和Prewitt算子似乎有效。Canny算子可以檢測(cè)到弱邊緣,但受陰影的影響較大。LoG算子易于強(qiáng)化噪聲,更適用于點(diǎn)狀物的
12、檢測(cè)和圖像銳化。3.2主要程序 1.讀取圖片程序,定義可讀取“.jpg.bmp.gif.png”屬性的圖片,讀取圖片到axes1坐標(biāo)軸中顯示。function pushbutton1_Callback(hObject, eventdata, handles)global imfilename,pathname = . uigetfile('*.jpg''*.bmp''*.gif''*.png','選擇圖片');str=pathname filename;im=imread(str);axes(handles.axe
13、s1);imshow(im); 2.存儲(chǔ)圖片程序,存儲(chǔ)axes2坐標(biāo)軸的結(jié)果圖像到自定義路徑,可選擇存儲(chǔ)屬性為“.bmp.tif.png”。function pushbutton4_Callback(hObject, eventdata, handles)global im %定義全局變量filename,pathname,filterindex=. uiputfile('*.bmp''*.tif''*.png','save?picture');%存儲(chǔ)圖片路徑if isequal(filename,0)|isequal(pathn
14、ame,0) return%如果取消操作,返回else str=pathname filename;%合成路徑+文件名 axes(handles.axes2);%使用第二個(gè)axes im=getimage(handles.axes2);imwrite(im,str);%寫(xiě)入圖片信息,即保存圖片end 3.關(guān)閉窗口程序。function pushbutton5_Callback(hObject, eventdata, handles)close(gcf)%關(guān)閉當(dāng)前Figure窗口句柄 4.按鈕組功能 ,當(dāng)選擇按鈕組中不同算法變換時(shí),用switch語(yǔ)句進(jìn)行算法的選擇進(jìn)行圖像變換,顯示結(jié)果在axes
15、2坐標(biāo)軸中。function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)global imm,n,o=size(im);if o>1 im=rgb2gray(im); R=double(im)/255;else R=double(im)/255;endstr=get(hObject,'string');axes(handles.axes2);switch str case 'Initial' imshow(im) case 'directionX' a=-1 -2 -1;
16、0 0 0;1 2 1/256;b=-1 0 1; -2 0 2; -1 0 1/256; BW=conv2(im,a,'same');BW=abs(BW);%處理水平方向算子的結(jié)果 imshow(BW); case 'directionY' a=-1 -2 -1;0 0 0;1 2 1/256;b=-1 0 1; -2 0 2; -1 0 1/256; BW=conv2(im,b,'same');BW=abs(BW);%處理垂直方向算子的結(jié)果 imshow(BW); case 'directionXY' a=-1 -2 -1;0
17、 0 0;1 2 1/256;b=-1 0 1; -2 0 2; -1 0 1/256; BW1=conv2(im,a,'same');BW1=abs(BW1);%處理水平方向算子的結(jié)果? BW2=conv2(im,b,'same');BW2=abs(BW2);%處理垂直方向算子的結(jié)果? BW=max(BW1,BW2);%取水平及垂直方向上的大值 imshow(BW); case 'Roberts' BW = edge(im,'Roberts'); imshow(BW); case 'Sobel' BW = edg
18、e(im,'Sobel'); imshow(BW); case 'Prewitt' BW = edge(im,'Prewitt'); imshow(BW); case 'LoG' BW = edge(im,'LoG'); imshow(BW); case 'Canny' BW = edge(im,'Canny'); imshow(BW); case 'Laplacian' a=0 1 0;1 -4 1;0 1 0/56; BW=conv2(im,a,'same
19、'); BW=abs(BW); imshow(BW);end 5.圖像二值化,利用2bw進(jìn)行圖像二值化轉(zhuǎn)化,并將轉(zhuǎn)換結(jié)果在axes2 坐標(biāo)軸中顯示。function pushbutton2_Callback(hObject, eventdata, handles)global imaxes(handles.axes2);BW=im2bw(im,0.4);imshow(BW); 6.灰度圖像轉(zhuǎn)化,判斷所讀取圖像是否為彩色圖像,如果是則轉(zhuǎn)化為灰度圖像,并在axes2 坐標(biāo)軸中顯示轉(zhuǎn)換結(jié)果圖像。function pushbutton3_Callback(hObject, eventdata,
20、 handles)global imm,n,o=size(im);if o>1 BW=rgb2gray(im); R=double(im)/255;else BW=im;endaxes(handles.axes2);imshow(BW);總 結(jié)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。隨著科學(xué)技術(shù)發(fā)展的日新日異,軟件方面的應(yīng)用已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說(shuō)得是無(wú)處不在。因此作為大學(xué)來(lái)說(shuō)掌握各種軟件的應(yīng)用是十分重要的。數(shù)字圖像處理是我們這個(gè)學(xué)期的重點(diǎn)課程。在沒(méi)有做課程設(shè)計(jì)以前覺(jué)得課程設(shè)計(jì)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)理質(zhì)量管理制度
- 安全教育夾手事故防范與應(yīng)對(duì)
- 消化內(nèi)科出科感悟
- 物業(yè)開(kāi)放日活動(dòng)方案
- 綠色農(nóng)業(yè)技術(shù)推廣存在的問(wèn)題及對(duì)策探究
- 婚姻解除后彩禮及財(cái)產(chǎn)分割標(biāo)準(zhǔn)協(xié)議書(shū)
- 翻譯保密協(xié)議旅游攻略筆譯保密合同
- 茶園土地流轉(zhuǎn)與農(nóng)業(yè)循環(huán)經(jīng)濟(jì)發(fā)展合作合同
- 車(chē)貸保險(xiǎn)兼擔(dān)保服務(wù)合同
- 競(jìng)業(yè)限制保密協(xié)議模板金融行業(yè)
- 航空航天技術(shù)知識(shí)要點(diǎn)梳理
- 輔警筆試題庫(kù)100及答案
- 鐵芯電抗器設(shè)計(jì)
- 廉潔行醫(yī)專(zhuān)題培訓(xùn)課件
- 南通市如東縣醫(yī)療衛(wèi)生單位招聘事業(yè)編制工作人員筆試真題2024
- 歷史●甘肅卷丨2024年甘肅省普通高中學(xué)業(yè)水平等級(jí)性考試高考?xì)v史真題試卷及答案
- 2024年杭州市臨安區(qū)事業(yè)單位統(tǒng)一招聘真題
- C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)知到智慧樹(shù)期末考試答案題庫(kù)2025年石河子大學(xué)
- 黨建考試試題及答案國(guó)企
- 小學(xué)圖書(shū)館面試題及答案
- 客運(yùn)行業(yè)事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)管理制度2025
評(píng)論
0/150
提交評(píng)論