




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 *實(shí)踐教學(xué)實(shí)踐教學(xué)*理工大學(xué)理工大學(xué)計(jì)算機(jī)與通信學(xué)院2012 年秋季學(xué)期圖像處理圖像處理綜合訓(xùn)練綜合訓(xùn)練題 目:圖像邊緣檢測(cè)課程設(shè)計(jì)專業(yè)班級(jí):姓 名:學(xué) 號(hào):指導(dǎo)教師:成 績(jī): 目目 錄錄摘要 1一、前言 2二、算法分析與描述 3三、詳細(xì)設(shè)計(jì)過(guò)程 8四、調(diào)試過(guò)程中出現(xiàn)的問(wèn)題與相應(yīng)解決辦法 10五、程序運(yùn)行截圖與其說(shuō)明 11六、簡(jiǎn)單操作手冊(cè) 14設(shè)計(jì)總結(jié) 16參考資料 17致 18附錄 19 0 / 25摘摘 要要 在實(shí)際圖像處理問(wèn)題中,圖像的邊緣作為圖像的一種基本特征,經(jīng)常被應(yīng)用到較高層次的圖像應(yīng)用中去。它在圖像識(shí)別,圖像分割,圖像增強(qiáng)以與圖像壓縮等的領(lǐng)域中有較為廣泛的應(yīng)用,也是它們的基礎(chǔ)。
2、邊緣檢測(cè)是圖像處理與分析中最基礎(chǔ)的容之一,也是至今仍沒(méi)有得到圓滿解決的一類問(wèn)題。圖像的邊緣包含了圖像的位置、輪廓等特征,是圖像的基本特征之一,廣泛地應(yīng)用于特征描述、圖像分割、圖像增強(qiáng)、圖像復(fù)原、模式識(shí)別、圖像壓縮等圖像分析和處理中。因此,圖像邊緣和輪廓特征的檢測(cè)與提取方法,一直是圖像處理與分析技術(shù)中的研究熱點(diǎn),新理論、新方法不斷涌現(xiàn)。本文研究了一些邊緣檢測(cè)算法,包括傳統(tǒng)的Roberts、Sobel、Prewitt、Canny 等算法。經(jīng)典邊緣檢測(cè)方法的抗噪聲性能都較差,解決該問(wèn)題的主要方法就是設(shè)置閾值,把得到的圖像高頻部分與閾值相比較以達(dá)到去噪的目的,所以閾值的選取顯得尤為重要。傳統(tǒng)方法中的閾
3、值都是通過(guò)實(shí)驗(yàn)確定的,沒(méi)有統(tǒng)一的閾值選取方法。本文利用邊緣的最大后驗(yàn)概率估計(jì),介紹一種新的邊緣估計(jì)方法,從理論上說(shuō)明了怎樣選取最佳閾值。文章中關(guān)于這些方法都有較詳細(xì)的介紹,以與算法的實(shí)現(xiàn)步驟,對(duì)算法均進(jìn)行了仿真實(shí)驗(yàn)。關(guān)鍵詞:邊緣檢測(cè); 圖像處理; Matlab; Sobel; 檢測(cè)算法 1 / 251 1、前言前言 隨著信息技術(shù)的不斷發(fā)展和用戶需求的不斷增長(zhǎng),嵌入式系統(tǒng)逐漸走進(jìn)國(guó)民生產(chǎn)的方方面面,其應(yīng)用也日益廣泛。目前國(guó)一個(gè)普遍被認(rèn)同的定義是:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域也非常廣泛
4、。嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上 PDA 、移動(dòng)計(jì)算設(shè)備、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車、數(shù)字相機(jī)、電梯、空調(diào)、安全系統(tǒng)、自動(dòng)售貨機(jī)、工業(yè)自動(dòng)化儀表與醫(yī)療儀器等。 而圖像邊緣檢測(cè)則是圖像處理中非常基礎(chǔ)但是與其重要步驟。邊緣是兩個(gè)不同區(qū)域之間的邊界。圖像邊緣檢測(cè)是圖像處理,圖像分析,模式識(shí)別等一系列圖像處理過(guò)程中最重要的步驟。目前,學(xué)界上已經(jīng)有許多種不同點(diǎn)的方法來(lái)實(shí)現(xiàn)邊緣檢測(cè)的功能,比如說(shuō)差分法(Kirsch,1971)和曲線擬合法(Haralick,1984) 。傳統(tǒng)的邊緣檢測(cè)方法,比如 Sobel、Prewitt、Kirsch 算法,通過(guò)計(jì)算第一階方向?qū)?shù)來(lái)決定邊緣的位置
5、。零點(diǎn)交叉邊緣檢測(cè)法(Bovik,1998)運(yùn)用了二階導(dǎo)數(shù)和拉普拉斯算符。而 Canny 算法(Canny,1986)是目前學(xué)界最流行并且應(yīng)用最廣泛的的高斯邊緣檢測(cè)算法。盡管高斯檢測(cè)算法(Yuksel,2007)相對(duì)來(lái)說(shuō)有更好的性能表現(xiàn),但是所需要的計(jì)算也比傳統(tǒng)基于求導(dǎo)的檢測(cè)算法復(fù)雜的多。 近些年來(lái),對(duì)于圖像處理在許多不同的科學(xué)和工程領(lǐng)域應(yīng)用的研究越來(lái)越火熱。在嵌入式系統(tǒng)上實(shí)現(xiàn)圖像處理能夠很好的解決在一般 PC 或者工控機(jī)上實(shí)現(xiàn)圖像處理的不足之處,比如說(shuō)便攜性差,功耗大,移動(dòng)性,靈活性不強(qiáng)等。同時(shí)加之以集成度高,與網(wǎng)絡(luò)的耦合也越來(lái)越緊密等特點(diǎn)。嵌入式系統(tǒng)將是未來(lái)工業(yè)控制和其他一些行業(yè)的主要發(fā)展
6、方向。 2 / 25 本文主要闡述了圖像邊緣檢測(cè)算法的一些理論,并對(duì)檢測(cè)的效果加以比較,同時(shí)介紹了嵌入式系統(tǒng)開(kāi)發(fā)的流程,為圖像類嵌入式開(kāi)發(fā)系統(tǒng)開(kāi)發(fā)提出可行的方案。最后設(shè)計(jì)實(shí)現(xiàn)了邊緣檢測(cè)系統(tǒng)。 二、算法分析與描述二、算法分析與描述2.1 Roberts 算子由 Roberts 提出的算子是一種利用局部差分算子尋找邊緣的算子,對(duì)于邊界陡峭且噪比較小的圖像檢測(cè)效果比較好,它在 22 鄰域上計(jì)算對(duì)角導(dǎo)數(shù),22,=,1,11,1G i jf i jf ijf ijf i jGi,j又稱為 Roberts 交叉算子。在實(shí)際應(yīng)用中,為簡(jiǎn)化運(yùn)算,用梯度函數(shù)的 Roberts 絕對(duì)值來(lái)近似:,=,1,11,1G
7、 i jf i jf ijf ijf i j用卷積模板,上式變成:,xyG i jGG其中Gx和Gy由下面圖 1 所示的模板計(jì)算:圖 1 Robert 邊緣檢測(cè)算子的模板Roberts 算子是該點(diǎn)連續(xù)梯度的近似值,而不是所預(yù)期的點(diǎn)處的近似值。由上面兩個(gè)卷積算子對(duì)圖像運(yùn)算后,代入 2 式,可求得圖像的梯度幅度值Gi,j,然后選取適當(dāng)?shù)拈T限TH,作如下判斷:Gi,jTH,i,j為階躍狀邊緣點(diǎn),Gi,j為一個(gè)二值圖像,也就是圖像的邊緣。由于利用局部差分檢測(cè)比較陡峭的邊緣,但對(duì)于噪聲比較敏感,經(jīng)常會(huì)出現(xiàn)孤立點(diǎn),于是人們又提出了 Prewitt 算子4。通過(guò)分析可知,Sobel 算子法對(duì)高頻成分豐富的圖
8、像處理效果好,對(duì)中低頻成分的圖像效果差。 3 / 252.2 Prewitt 算子為在檢測(cè)邊緣的同時(shí)減少噪聲的影響,Prewitt 算子從加大邊緣檢測(cè)算子出發(fā)。由 22 擴(kuò)大到 33 來(lái)計(jì)算差分算子,所以其卷積模板為圖 2 所示:圖 2 Prewitt 邊緣檢測(cè)算子的模板在圖像中的每個(gè)像素位置都用這 2 個(gè)模板做卷積,Prewitt 算子將方向差分運(yùn)算與局部平均結(jié)合起來(lái),表達(dá)式如下:1,1,11,11,1,11,1xff xyf x yf xyf xyf x yf xy 1,11,1,11,11,1,1yff xyf xyf xyf xyf xyf xy 根據(jù)兩式可以計(jì)算 Prewitt 梯度
9、,選取適當(dāng)?shù)拈撝礣,對(duì)梯度圖像二值化,得到一幅邊緣二值圖像。采用 Prewitt 算子不僅能檢測(cè)邊緣點(diǎn),而且還能抵制噪聲的影響5。通過(guò)分析可知,Prewitt 算子法對(duì)高頻成分豐富的圖像處理效果好,對(duì)中低頻成分的圖像效果差。2.3 Sobel 算子傳統(tǒng)的 Sobel 圖像邊緣檢測(cè)方法,是在圖像空間利用兩個(gè)方向模板與圖像進(jìn)行鄰域卷積來(lái)完成的。這兩個(gè)方向模板一個(gè)檢測(cè)垂直邊緣,一個(gè)檢測(cè)水平邊緣,如圖 3 所示。圖中,模板的數(shù)字為模板系數(shù),梯度方向與邊緣方向總是正交水平邊緣 Sobel 算子垂直邊緣 Sobel 算子圖 3 Sobel 算子 4 / 25模板元素和窗口像素之間的對(duì)應(yīng)關(guān)系(以 33 窗口
10、為例)定義如下:設(shè)窗口灰度為: 1,11,1,1,1,11,11,1,1FjkFjkFjkFFj kFj kFj kFjkFjkFjk模板卷積計(jì)算就是下式求乘積和的過(guò)程:11,11,iim nmnfj kF jm kn M 式中,i=1,2 分別代表垂直和水平模板。為模板卷積法邊緣檢測(cè)的輸出,ifj k,L為窗口寬度,對(duì) 33 窗口,l=1。將兩個(gè)卷積結(jié)果的最大值,賦給2lL圖像中對(duì)應(yīng)模板中心位置的像素,作為該像素的新灰度值,即:maxmax,1,2iffj ki 通過(guò)分析可知,Sobel 算子法對(duì)高頻成分豐富的圖像處理效果好,對(duì)中低頻成分的圖像效果差。2.4 Laplacian 算子拉普拉斯
11、算子是二階導(dǎo)數(shù)的二維等效式。函數(shù)f(x,y)的拉普拉斯算子公式為:22222fffxy使用差分方程對(duì)x和y方向上的二階偏導(dǎo)數(shù)近似如下:22,1,1,22,1,xGfxxf i jf i jxf i jf i jxxf i jf i jf i j這一近似式是以點(diǎn)fi,j+1為中心的,用j-1替換j得到22,12,1ff i jf i jf i jx 5 / 25它是以點(diǎn)i,j為中心的二階偏導(dǎo)數(shù)的理想近似式,類似地,221,2,1,ff ijf i jf ijx把式(2-3)和式(2-4)合并為一個(gè)算子,就成為式(2-5)能用來(lái)近似拉普拉斯算子的模板:2010141010 有時(shí)候希望鄰域中心點(diǎn)具有
12、更大的權(quán)值,比如下面式(2-6)的模板就是一種基于這種思想的近似拉普拉斯算子:21414204141 當(dāng)拉普拉斯算子輸出出現(xiàn)過(guò)零點(diǎn)時(shí)就表明有邊緣存在,其中忽略無(wú)意義的過(guò)零點(diǎn)(均勻零區(qū))。原則上,過(guò)零點(diǎn)的位置精度可以通過(guò)線性插方法精確到子像素分辨率。通過(guò)分析可知,它不過(guò)由于噪聲,以與由噪聲引起的邊緣兩端的不對(duì)稱性,結(jié)果可能不會(huì)很精確。2.5 Canny 算子Canny 檢測(cè)階躍邊緣的基本思想是在圖像中找出具有局部最大梯度幅值的像素點(diǎn)。檢測(cè)階躍邊緣的大部分工作集中在尋找能夠用于實(shí)際圖像的梯度數(shù)字逼近。由于實(shí)際的圖像經(jīng)過(guò)了攝像機(jī)光學(xué)系統(tǒng)和電路系統(tǒng)(帶寬限制)固有的低通濾波器的平滑,因此,圖像中的階躍
13、邊緣不是十分陡立。圖像也受到攝像機(jī)噪聲和場(chǎng)景中不希望的細(xì)節(jié)的干擾。圖像梯度逼近必須滿足兩個(gè)要求:首先逼近必須能夠抑制噪聲效應(yīng);其次必須盡量精確地確定邊緣的位置。抑制噪聲和邊緣精確定位是無(wú)法同時(shí)得到滿足的,也就是說(shuō),邊緣檢測(cè)算法通過(guò)圖像平滑算子去除了噪聲,但卻增加了邊緣定位的不確定性;反過(guò)來(lái),若提高邊緣檢測(cè)算子對(duì)邊緣的敏感性,同時(shí)也提高了對(duì)噪聲的敏感性。有一種線性算子可以在抗噪聲干擾和精確定位之間提供最佳折衷方案,它就是高斯函數(shù)的一階導(dǎo)數(shù)。通過(guò)分析可知,采用高斯函數(shù)對(duì)圖像進(jìn)行平滑處理,因此具有較強(qiáng)的噪聲 6 / 25抑制能力;同樣該算子也將一些高頻邊緣平滑掉,造成邊緣丟失,采用了雙閾值算法檢測(cè)和
14、連接邊緣,邊緣的連續(xù)性較好。 7 / 253 3、詳細(xì)設(shè)計(jì)過(guò)程詳細(xì)設(shè)計(jì)過(guò)程Roberts 算子、Sobel 算子、Prewitt 算子的檢測(cè)效果相差不大,三種算子的檢測(cè)效果較之 Canny 和 Log 算子還是存在一定的差距。這三種檢測(cè)算子的閾值選擇圍與 log 和 canny 算子相比要小些。邊緣點(diǎn)不夠銳利和明確,線邊緣檢測(cè)要好于點(diǎn)邊緣檢測(cè)。總體而言由于 Prewitt 算子受噪聲影響較小,故檢測(cè)效果要略好于另外兩種。由于 Roberts 算子是利用圖像的兩個(gè)對(duì)角線的相鄰像素之差進(jìn)行梯度幅值的檢測(cè),所以求得的是在差分點(diǎn)處梯度幅值的近似值,并且檢測(cè)水平和垂直方向邊緣的性能好于斜線方向的邊緣,檢
15、測(cè)精度比較高,但容易丟失一部分邊緣,同時(shí)由于沒(méi)經(jīng)過(guò)圖像平滑計(jì)算,因此不能抑制噪聲,但該算子對(duì)具有陡峭的低噪聲圖像響應(yīng)最好。Prewitt 算子和 Sobel 算子都是對(duì)圖像進(jìn)行差分和濾波運(yùn)算,僅在平滑部分的權(quán)值選擇上有些差異,因此兩者均對(duì)噪聲具有一定的抑制能力,但這種抗噪能力是通過(guò)像素平均來(lái)實(shí)現(xiàn)的,所以圖像產(chǎn)生了一定的模糊,而且還會(huì)檢測(cè)出一些偽邊緣,所以檢測(cè)精度比較低,該算子比較適合用于圖像邊緣灰度值比較尖銳且圖像噪聲比較小的情況。Canny 算子采用高斯函數(shù)對(duì)圖像進(jìn)行平滑處理具有較強(qiáng)的去噪能力,容易平滑掉一些邊緣信息,邊緣定位精度較高。該算子與其它邊緣檢測(cè)算子的不同之處在于,它使用 2 種不
16、同的閾值分別檢測(cè)強(qiáng)邊緣和弱邊緣,并且僅當(dāng)弱邊緣相連時(shí)才將弱邊緣包含在輸出圖像中,因此這種方法較其它方法而言不容易被噪聲“填充”更容易檢測(cè)出真正的弱邊緣。通過(guò)對(duì) lena 圖的仿真實(shí)驗(yàn)結(jié)果可以看出,該算子在上述幾種邊緣檢測(cè)算子當(dāng)中效果最好。邊緣定位準(zhǔn)確,連續(xù)性較好,虛假邊緣少且邊緣均具有單像素寬度。LoG 算子首先通過(guò)高斯函數(shù)對(duì)圖像進(jìn)行平滑處理,因此對(duì)噪聲的抑制作用比較明顯,但同時(shí)也可能將原有的邊緣也平滑了,造成某些邊緣無(wú)法檢測(cè)到,比外高斯分布因子的選擇對(duì)圖像邊緣檢測(cè)效果有較大的影響,越大,檢測(cè)到的圖像細(xì)節(jié)越豐富,但抗噪能力下降,從而出現(xiàn)偽邊緣,反之則抗噪能力提 8 / 25高,但邊緣精度下降,
17、易丟失許多真邊緣,因此,對(duì)于不同圖像應(yīng)選擇不同參數(shù)。Roberts 算子:采用對(duì)角線方向相鄰兩像素之差表示信號(hào)的突變,檢測(cè)水平和垂直方向邊緣的性能好于斜線方向,定位精度比較高,但對(duì)噪聲敏感,檢測(cè)出的邊緣較細(xì)。Prewitt 算子:對(duì)噪聲有平滑作用,檢測(cè)出的邊緣比較粗,定位精度低,容易損失角點(diǎn)。Sobel 算子:產(chǎn)生的邊緣效果較好,對(duì)噪聲具有平滑作用。但存在偽邊緣,邊緣比較粗且定位精度低。Laplacian 算子:是二階微分算子,對(duì)圖像中的階躍性邊緣點(diǎn)定位準(zhǔn)確,對(duì)噪聲非常敏感,丟失一部分邊緣的方向信息,造成一些不連續(xù)的檢測(cè)邊緣。Canny 算子:采用高斯函數(shù)對(duì)圖像進(jìn)行平滑處理,因此具有較強(qiáng)的噪聲
18、抑制能力;同樣該算子也將一些高頻邊緣平滑掉,造成邊緣丟失,采用了雙閾值算法檢測(cè)和連接邊緣,邊緣的連續(xù)性較好。 9 / 254 4、調(diào)試過(guò)程中出現(xiàn)的問(wèn)題與相應(yīng)解決辦法調(diào)試過(guò)程中出現(xiàn)的問(wèn)題與相應(yīng)解決辦法4.1 代碼在運(yùn)行過(guò)程中的錯(cuò)誤:filename, pathname = uigetfile( . *.bmp;*.jpg;*.png;*.jpeg, Image Files (*.bmp, *.jpg, *.png, *.jpeg); .*.*, All Files (*.*), .Pick an image);axes(handles.axes_src);fpath=pathname filen
19、ame;此代碼缺少了imread讀入圖片,因此不能夠正確的運(yùn)行。應(yīng)在代碼后面加入如下代碼:img_src=imread(fpath);4.2 圖像運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤:應(yīng)該將代碼中的I=rgb2gray();改為I=rgb2gray(I); 10 / 25 五、程序運(yùn)行截圖與其說(shuō)明五、程序運(yùn)行截圖與其說(shuō)明5.1 Roberts 算子圖像邊緣檢測(cè)截圖如圖(4)所示 圖(4)5.2 Prewitt 算子圖像邊緣檢測(cè)截圖如圖(5)所示 圖(5) 11 / 255.3 Sobel 算子圖像邊緣檢測(cè)如圖(6)所示 圖(6)5.4 Laplacian 算子圖像邊緣檢測(cè)如圖(7)所示 圖(7) 12 / 2
20、55.5 Canny 算子圖像邊緣檢測(cè)如圖(8)所示 圖(8) 13 / 256 6、簡(jiǎn)單操作手冊(cè)簡(jiǎn)單操作手冊(cè)本系統(tǒng)主要是對(duì)圖像邊緣檢測(cè)中一階微分算子,二階微分算子等的實(shí)現(xiàn),以Sobel 為例,在程序?qū)崿F(xiàn)的過(guò)程中主要步驟有以下幾點(diǎn):6.1 程序執(zhí)行的初始界面如圖(9)所示 圖(9)6.2 打開(kāi)圖象進(jìn)行 Sobel 算子邊緣檢測(cè)界面如圖(10)所示 圖(10)6.3 經(jīng) Sobel 算子處理后的圖象如圖(11)所示 14 / 25 圖(11)6.4 退出程序 15 / 25設(shè)計(jì)總結(jié)設(shè)計(jì)總結(jié)雖然這次課程設(shè)計(jì)只有二個(gè)星期的時(shí)間,但是我們對(duì)圖像處理的各種方法與應(yīng)用有了更深的理解,學(xué)會(huì)了應(yīng)用 MATLA
21、B 軟件與 GUI 來(lái)實(shí)現(xiàn)界面的操作和編程處理。MATLAB 是我們?cè)谝郧昂鸵院蟮膶W(xué)習(xí)工作中都會(huì)經(jīng)常應(yīng)用到的軟件,但是在以前還是對(duì)其了解不足,操作不是很了解,在實(shí)習(xí)之初便因?yàn)檫@個(gè)問(wèn)題而無(wú)從下手。于是我們尋找了許多這方面的書籍以與應(yīng)用網(wǎng)絡(luò)教程來(lái)對(duì)其進(jìn)行學(xué)習(xí),逐漸的增強(qiáng)了對(duì) MATLAB 與 GUI 的了解,能夠摸索著開(kāi)始進(jìn)行編寫。實(shí)習(xí)中也遇到了很多問(wèn)題,但通過(guò)查閱書籍、同學(xué)間討論、請(qǐng)教老師以與網(wǎng)上查找最終能夠得以解決,完成這次實(shí)習(xí)。 通過(guò)這次課程設(shè)計(jì),對(duì)其的一些常見(jiàn)函數(shù)以與與圖像處理相關(guān)的函數(shù)都比較了解,并能夠應(yīng)用這些函數(shù)來(lái)解決圖像處理的問(wèn)題。GUI 對(duì)于我們是一個(gè)新的知識(shí),通過(guò)各方面的學(xué)習(xí),我
22、們最終對(duì) GUI 也有了比較深的了解,能夠很順利的應(yīng)用 GUI 來(lái)設(shè)計(jì)出適合并且美觀的界面。圖像處理是我們這學(xué)期的一門很重要的課程,在課上雖然學(xué)習(xí)了很多知識(shí),但是不經(jīng)過(guò)自己動(dòng)手操作而只看到書上的一些概念和處理的圖片并不能很清楚的了解到各種操作的效果,并且不動(dòng)手操作,知識(shí)就只能局限于書本上。經(jīng)過(guò)這次課程設(shè)計(jì),不但能夠讓我們?cè)俅螐?fù)習(xí)了本學(xué)期所學(xué)的圖像處理的知識(shí),加深了對(duì)這些知識(shí)的記憶,并且讓我們對(duì)圖像處理的各種處理方法如 Sobel 算子、Robert 算子、Priwitt 算子、拉普拉斯算子、Canny 等對(duì)圖像產(chǎn)生的效果有了更加直觀的了解,不但加深了記憶也能因此更加了解各種處理方法的應(yīng)用,可以
23、用 MATLAB 軟件來(lái)對(duì)這些處理來(lái)實(shí)現(xiàn)。 這次課程設(shè)計(jì)要實(shí)現(xiàn)的容比較多,其中有一些易操作的也有一些比較復(fù)雜的,在實(shí)習(xí)過(guò)程中也會(huì)遇到一些難以突破的問(wèn)題,但是在這個(gè)過(guò)程中需要我們耐心的學(xué)習(xí),一步一步通過(guò)各種途經(jīng)學(xué)習(xí)到解決的方法,也培養(yǎng)了我們的耐心和學(xué)習(xí)的能力。這次是兩人一組的實(shí)習(xí),因此合理的分工合作也是很重要的,通過(guò)實(shí)習(xí)也培養(yǎng)了我們之間分工協(xié)作互幫互助的精神。 總體來(lái)說(shuō),我們的這次課程設(shè)計(jì)還是比較成功的,較為成功的完成了我們的邊緣圖像檢測(cè),并且達(dá)到到了我們這次課程設(shè)計(jì)的目的。 16 / 25 參考資料參考資料1 朱虹. 數(shù)字圖像處理基礎(chǔ)M. 科學(xué), 20052 R C.Gonzalez, R E
24、.Woods 著,阮秋琦,阮宇智等譯.數(shù)字圖像處理(第 2 版).:電子工業(yè),20033 K.R.Castleman. 數(shù)字圖像處理.:電子工業(yè),20024 章毓晉.圖像處理與分析-圖像工程(上冊(cè)),清華大學(xué),20015 何斌等編著.Visual C+數(shù)字圖像處理.人民郵電,2002 6 宏林編著.Visual C+數(shù)字圖像模式識(shí)別技術(shù)與工程實(shí)踐.人民郵電,2003.7 黃維通.Visual C+面向?qū)ο笈c可視化程序設(shè)計(jì).清華大學(xué),20038 R C.Gonzalez, R E.Woods, S L. Eddins 著,阮秋琦,阮宇智等譯.數(shù)字圖像處理(MATLAB 版).:電子工業(yè),2005
25、9 赤楓, 王 俊, 克, 等. 自生 Mg2Si 顆粒增強(qiáng) Al 基復(fù)合材料的組織細(xì)化J. 中國(guó)有色金屬學(xué)報(bào), 2004, 14(2): 233-237.10 殷 聲. 燃燒合成M. : 冶金工業(yè), 2004: 25-44.11 王文新.大象征收過(guò)路費(fèi). 2006.5.21 17 / 25致致 在這次課程設(shè)計(jì)的設(shè)計(jì)過(guò)程中,我得到了許多人的幫助。 首先我要感我的老師在課程設(shè)計(jì)上給予我的指導(dǎo)、提供給我的支持和幫助,這是我能順利完成這次報(bào)告的主要原因,更重要的是老師幫我解決了許多技術(shù)上的難題,讓我能把系統(tǒng)做得更加完善。在此期間,我不僅學(xué)到了許多新的知識(shí),而且也開(kāi)闊了視野,提高了自己的設(shè)計(jì)能力。 其
26、次,我要感幫助過(guò)我的同學(xué),他們也為我解決了不少我不太明白的代碼難題,在一個(gè)個(gè)小問(wèn)題上給了我很大的幫助。 最后再一次感所有在設(shè)計(jì)中曾經(jīng)幫助過(guò)我的良師益友和同學(xué)。 18 / 25附錄附錄function varargout = Mywork(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, .gui_Singleton, gui_Singleton, .gui_OpeningFcn, Mywork_OpeningFcn, .gui_OutputFcn, Mywork_OutputFcn, .gui_LayoutFc
27、n, , .gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction Mywork_OpeningFcn(hObject, eventdata, handles, varargin)setappdata(handles.figu
28、re_Mywork,img_src,0);handles.output = hObject;guidata(hObject, handles);function varargout = Mywork_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output;function m_file_Callback(hObject, eventdata, handles)function m_file_open_Callback(hObject, eventdata, handles) filename, pathname =
29、uigetfile( . 19 / 25 *.bmp;*.jpg;*.png;*.jpeg, Image Files (*.bmp, *.jpg, *.png, *.jpeg); .*.*, All Files (*.*), .Pick an image);axes(handles.axes_src);%用axes命令設(shè)定當(dāng)前操作的坐標(biāo)軸是axes_src fpath=pathname filename;%將文件名和目錄名組合成一個(gè)完整的路徑 img_src=imread(fpath);%用imread讀入圖片,并用imshow在axes_src上顯示imshow(img_src);title
30、(原圖);setappdata(handles.figure_Mywork,img_src,img_src);function m_file_save_Callback(hObject, eventdata, handles)filename, pathname = uigetfile( . *.bmp;*.jpg;*.png;*.jpeg, Image Files (*.bmp, *.jpg, *.png, *.jpeg); .*.*, All Files (*.*), .Pick an image);axes(handles.axes_src);%用axes命令設(shè)定當(dāng)前操作的坐標(biāo)軸是axe
31、s_src fpath=pathname filename;%將文件名和目錄名組合成一個(gè)完整的路徑 img_src=imread(fpath);imshow(img_src);img_src=getappdata(handles.figure_Mywork,img_src);function m_file_exit_Callback(hObject, eventdata, handles)close(handles.figure_Mywork);function m_image_Callback(hObject, eventdata, handles)function m_sobel_Call
32、back(hObject, eventdata, handles)axes(handles.axes_src);%用axes命令設(shè)定當(dāng)前操作的坐標(biāo)軸是axes_src img_src=getappdata(handles.figure_Mywork,img_src);A=img_src;axes(handles.axes_src);imshow(A);title(原圖); 20 / 25y_mask = -1 -2 -1;0 0 0;1 2 1; % 建立Y方向的模板x_mask = y_mask; % 建立X方向的模板I = im2double(A); % 將圖像數(shù)據(jù)轉(zhuǎn)化為雙精度dx = i
33、mfilter(I, x_mask); % 計(jì)算X方向的梯度分量dy = imfilter(I, y_mask); % 計(jì)算Y方向的梯度分量grad = sqrt(dx.*dx + dy.*dy); % 計(jì)算梯度grad = mat2gray(grad); % 將梯度矩陣轉(zhuǎn)換為灰度圖像level = graythresh(grad); % 計(jì)算灰度閾值axes(handles.axes_dst);BW = im2bw(grad,level); % 用閾值分割梯度圖像imshow(BW); % 顯示分割后的圖像即邊緣圖像title(Sobel)function m_Roberts_Callbac
34、k(hObject, eventdata, handles)img_src=getappdata(handles.figure_Mywork,img_src);A=img_src;axes(handles.axes_src);imshow(A);title(原圖);x_mask = 1 0;0 -1; % 建立X方向的模板y_mask = rot90(x_mask); % 建立Y方向的模板I = im2double(A); % 將圖像數(shù)據(jù)轉(zhuǎn)化為雙精度dx = imfilter(I, x_mask); % 計(jì)算X方向的梯度分量dy = imfilter(I, y_mask); % 計(jì)算Y方向的梯度分量grad = sqrt(dx.*dx + dy.*dy); % 計(jì)算梯度grad = mat2gray(grad); % 將梯度矩陣轉(zhuǎn)換為灰度圖像level = graythresh(grad); % 計(jì)算灰度閾值axes(handles.axes_dst);BW = im2bw(grad,level); % 用閾值分割梯度圖像imshow(BW); % 顯示分割后的圖像即邊緣圖像title(Roberts) 21 / 25function m_priwitt_Callback(hObject, eventdata,
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年蝦干行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年草本植物飲料行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年第三方檢測(cè)服務(wù)行業(yè)市場(chǎng)發(fā)展分析及前景趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025-2030年男性洗面奶產(chǎn)業(yè)市場(chǎng)深度調(diào)研及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025-2030年電焊鉗行業(yè)風(fēng)險(xiǎn)投資發(fā)展分析及投資融資策略研究報(bào)告
- 2025-2030年環(huán)衛(wèi)環(huán)保機(jī)械行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)與投資研究報(bào)告
- 2025-2030年水晶磚行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年氣煤行業(yè)風(fēng)險(xiǎn)投資及投資運(yùn)作模式研究報(bào)告
- 2025-2030年板牙產(chǎn)業(yè)市場(chǎng)深度分析及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025-2030年木質(zhì)材料行業(yè)并購(gòu)重組機(jī)會(huì)及投融資戰(zhàn)略研究咨詢報(bào)告
- JJF 1344-2023氣體標(biāo)準(zhǔn)物質(zhì)的研制
- 煤礦雨季三防安全措施
- 錘片式粉碎機(jī)設(shè)計(jì)解析
- 抖音直播投流合同范本
- 鏡頭蓋注塑模具
- 《公主嘗衣貼繡鋪翠襦入宮中》2020年江西省中考文言文閱讀真題(含答案與翻譯)
- 比亞迪海豹說(shuō)明書
- 昆蟲標(biāo)本制作展翅蝴蝶
- 計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文-計(jì)算機(jī)應(yīng)用技術(shù)論文5000字
- 《學(xué)弈》公開(kāi)課課件完整版
- EBO管理體系與案例分享
評(píng)論
0/150
提交評(píng)論