湖南大學腦與認知科學概論實驗報告3解答_第1頁
湖南大學腦與認知科學概論實驗報告3解答_第2頁
湖南大學腦與認知科學概論實驗報告3解答_第3頁
湖南大學腦與認知科學概論實驗報告3解答_第4頁
湖南大學腦與認知科學概論實驗報告3解答_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗卡和實驗報告信息科學與工程學院課程腦與認知科學概論實驗課時4名稱實驗項目同組者姓名CS0502503名稱和編號實1進一步理解邊沿檢測的基本原理。驗2掌握對圖像邊沿檢測的基本方法。目3學習利用 Matlab 圖像工具箱對圖像進行邊沿檢測。的實硬件:聯想Y50 計算機驗軟件: WINDOWS7操作系統環應用軟件: MATLAB2014A境實驗要求對邊緣檢測的要求:使用 Matlab 圖像處理工具箱中的不同方法對下圖的邊緣進行提取;注意觀察不同操作對垂直方向、水平方向、斜方向的提取效果有何區別;注意觀察提取后的邊界是否連續,若不連續可采用什么方法使其連續。實實驗步驟驗1打開計算機,啟動 MATL

2、AB程序;內重點理2調入數字圖像 1.bmp,利用 MATLAB圖像工具箱中已有函數進行編程以實現圖像的邊緣檢測;容解 edge 函數的使用方法,參數的含義,具體如下:和canny 的意思。canny 算子 (sy3_1.m): 不同取值范圍的效果。重點理解原算子( sy3_2.m ) :sobel理log 拉普拉斯算法 (sy3_3.m)imfilter函數的使用( sy3_4.m )3調入數字圖像 2.jpg ,檢測其邊緣( sy3_5.m )4顯示原圖和處理過的圖像。5記錄和整理實驗報告實驗卡和實驗報告信息科學與工程學院實驗原理調用 matlab下的 help edge函數可以看到有關e

3、dge 的使用說明:BW= edge(I)采用 I 作為它的輸入,并返回一個與I 相同大小的二值化圖像BW,在函數檢測到邊緣的地方為 1,其他地方為 0。BW = edge(I,sobel)自動選擇閾值用Sobel 算子進行邊緣檢測。BW = edge(I,sobel,thresh)根據所指定的敏感度閾值thresh ,用 Sobel 算子進行邊緣檢測,它忽略了所有小于閾值的邊緣。當thresh 為空時,自動選擇閾值。BW = edge(I,sobel,thresh,direction)根據所指定的敏感度閾值thresh ,在所指定的方向direction上,用 Sobel 算子進行邊緣檢測。

4、 Direction可取的字符串值為horizontal( 水平方向 ) 、vertical(垂直方向 ) 或 both( 兩個方向 ) 。BW,thresh = edge(I,sobel,.)返回閾值以上標紅的語句是edge 函數的完整參數實現, 而我們在做實驗的過程中只需要填寫一個或幾個即可完成邊緣檢測。下面,考慮幾個算子的使用方法:Canny 算子, Canny 的目標是找到一個最優的邊緣檢測算法,最優邊緣檢測的含義是:好的檢測 - 算法能夠盡可能多地標識出圖像中的實際邊緣。好的定位 - 標識出的邊緣要盡可能與實際圖像中的實際邊緣盡可能接近。最小響應 - 圖像中的邊緣只能標識一次,并且可

5、能存在的圖像噪聲不應標識為邊緣。為了滿足這些要求 Canny 使用了變分法,這是一種尋找滿足特定功能的函數的方法。最優檢測使用四個指數函數項的和表示,但是它非常近似于高斯函數的一階導數。實驗卡和實驗報告信息科學與工程學院可以看到,在調用時,thresh閾值可以自己設定,在接下來的實驗中,我會自己嘗試設定thresh值,進行邊緣檢測。Sobel 算子,是計算機視覺領域的一種重要處理方法。主要用于獲得數字圖像的一階梯度,常見的應用和物理意義是邊緣檢測。在技術上,它是一個離散的一階差分算子,用來計算圖像亮度函數的一階梯度之近似值。在圖像的任何一點使用此算子,將會產生該點對應的梯度矢量或是其法矢量。L

6、oG 算子也就是Laplaceof Gaussian function(高斯拉普拉斯函數) 。常用于數字圖像的邊緣提取和二值化。 LoG 算子源于 D.Marr 計算視覺理論中提出的邊緣提取思想 , 即首先對原始圖像進行最佳平滑處理 , 最大程度地抑制噪聲 , 再對平滑后的圖像求取邊緣。實驗卡和實驗報告信息科學與工程學院由于噪聲點(灰度與周圍點相差很大的像素點)對邊緣檢測有一定的影響,所以效果更好的邊緣檢測器是 LoG 算子,也就是 Laplacian-Gauss 算子。它把的 Gauss 平滑濾波器和 Laplacian 銳化濾波器結合了起來,先平滑掉噪聲,再進行邊緣檢測,所以效果會更好。常

7、用的 LoG算子是 5 5 的模板。Imfilter函數:用法:B = imfilter(A,H)B = imfilter(A,H,option1,option2,.)或寫作 g = imfilter(f, w, filtering_mode, boundary_options, size_options)其中, f 為輸入圖像, w 為濾波掩模, g 為濾波后圖像。filtering_mode用于指定在濾波過程中是使用“相關”還是“卷積”。 boundary_options用于處理邊界充零問題,邊界的大小由濾波器的大小確定。實驗卡和實驗報告信息科學與工程學院1) canny 算子邊緣檢測:c

8、lose all;clear all;%author I1=imread(1.bmp); %讀取圖像%考慮 canny 的參數,本程序通過改變檢測閾值進行調試I1=rgb2gray(I1);subplot(2,3,1),imshow(I1),title(原始圖象 1);I2=edge(I1,canny);subplot(2,3,2),imshow(I2),title(canny邊緣檢測方法 - 默認閾值 );I3=edge(I1,canny,0.002,0.2,1);subplot(2,3,3),imshow(I3),title(閾值范圍 0.002,0.2);I4=edge(I1,canny

9、,0,0.1,1);subplot(2,3,4),imshow(I4),title(閾值范圍 0,0.1);I5=edge(I1,canny,0,0.99,1);subplot(2,3,5),imshow(I5),title(閾值范圍 0,0.99);實I6=edge(I1,canny,0,0.01,1);驗閾值范圍 0,0.01);subplot(2,3,6),imshow(I6),title(步驟2) sobel 算子邊緣檢測close all;clear all;方%author法讀取圖像I1=imread(1.bmp); %I1=rgb2gray(I1);關原始圖象 1);subplo

10、t(2,3,1),imshow(I1),title(鍵I2=edge(I1,sobel);代%考慮 sobel 的參數,有閾值和檢測方向,下面更改兩種方式進行實驗碼邊緣檢測方法 - 默認方向 );subplot(2,3,2),imshow(I2),title(sobelI4=edge(I1,sobel,horizontal);subplot(2,3,3),imshow(I4),title(僅水平方向 );I5=edge(I1,sobel,vertical);subplot(2,3,4),imshow(I5),title(僅豎直方向 );I6=edge(I1,sobel,0.01);subplo

11、t(2,3,5),imshow(I6),title(閾值 0.1 的 sobel 算子 );I7=edge(I1,sobel,0);subplot(2,3,6),imshow(I7),title(閾值 0 的 sobel 算子 );3) log 算子邊緣檢測close all;clear all;%authorI1=imread(1.bmp); %讀取圖像實驗卡和實驗報告信息科學與工程學院I1=rgb2gray(I1);subplot(2,3,1),imshow(I1),title(原始圖象 1);I2=edge(I1,log);%考慮 log的參數,有閾值和檢測方向,下面更改兩種方式進行實驗

12、subplot(2,3,2),imshow(I2),title(log邊緣檢測方法 - 默認方向 );I4=edge(I1,log,horizontal);subplot(2,3,3),imshow(I4),title(僅水平方向 );I5=edge(I1,log,vertical);subplot(2,3,4),imshow(I5),title(僅豎直方向 );I6=edge(I1,log,0.01);subplot(2,3,5),imshow(I6),title(閾值 0.01 的 log算子 );I7=edge(I1,log,0);subplot(2,3,6),imshow(I7),ti

13、tle(閾值 0 的 log 算子 );4)matlab在 edge 函數中給出了很多算子,下面進行對2.jpg 進行測試%一圖展示6 個算子邊緣檢測close all;clear all;%authorI1=imread(2.jpg); %讀取圖像I1=rgb2gray(I1);I2=edge(I1,sobel); %Sobel算子subplot(2,3,1),imshow(I2),title(Sobel邊緣檢測方法 );I3=edge(I1,prewitt); %prewitt算子subplot(2,3,2),imshow(I3),title(prewitt邊緣檢測方法 );I4=edge

14、(I1,roberts); %roberts算子subplot(2,3,3),imshow(I4),title(roberts邊緣檢測方法 );I5=edge(I1,log); %Laplacian-Gaussian算子subplot(2,3,4),imshow(I5),title(Laplacian-Gaussian邊緣檢測方法 );I6=edge(I1,zerocross); %zerecross算子subplot(2,3,5),imshow(I6),title(過零點邊緣檢測方法 );I7=edge(I1,canny); %canny算子subplot(2,3,6),imshow(I7)

15、,title(canny邊緣檢測方法 );5)不使用算子對 2.jpg的檢測clear all;a=imread(2.jpg);A=rgb2gray(a);%authorh1=1,1,1;0,0,0;-1,-1,-1;%水平方向實驗卡和實驗報告信息科學與工程學院h2=0,1,1;-1,0,1;-1,-1,0; %45度方向h3=1 0 -1;1 0 -1;1 0 -1;%豎直方向h4=0,-1,-1;1,0,-1;1,1,0;%135度方向j1=imfilter(A,h1);%對數組濾波,下同j2=imfilter(A,h2);j3=imfilter(A,h3);j4=imfilter(A,h

16、4);x=uint8(j1); %轉化成 uint8型y=uint8(j2) ;z=uint8(j3);m=uint8(j4);D=imadd(x,y);D1=imadd(D,z);% 進行疊加D2=imadd(D1,m);D3=imadd(D1,m);subplot(321),imshow(A);title(origin)subplot(322),imshow(j1);title(水平方向 )subplot(323),imshow(j2);title(45度方向 )subplot(324),imshow(j3);title(豎直方向 )subplot(325),imshow(j4);titl

17、e(135度方向 )subplot(326),imshow(D2);title(疊加后的圖像 )1) canny 算子多種檢測結果:測試記錄分析結論2) sobel 算子多種檢測結果:實驗卡和實驗報告信息科學與工程學院3 log 算子多種檢測結果:4)對 2.jpg 的多種算子檢測實驗卡和實驗報告信息科學與工程學院5)不使用算子對2.jpg 的檢測結果實驗卡和實驗報告信息科學與工程學院分析與總結:1) canny 算子的目標是找到一個最優的邊緣檢測算法,在對一個陌生圖像進行邊緣檢測時,canny算子是最好的選擇。2)關于 canny 算子的參數設置,閾值范圍設定,A,B 下限決定了檢測的細節是

18、否清晰,上限決定了是否會將大量的次要邊緣包括在內,考慮canny 算子的參數sigma 即標準差,我對sigma 進行了第二次設定后(選定值為0.5 )進行了又一次檢查,發現結果如下:實驗表明, sigma 值設定過低也會使邊緣范圍包括一些不需要的“次要邊緣 ”。3) sobel 算子檢測到的邊緣過粗,難以實現物體的精確定位,同時閾值不好確定,很難測定出一個低至可以檢查所有重要邊緣,但不至于包括過多次要邊緣的閾值。4) log 算子會先對圖像進行噪聲處理,再檢測邊緣,所以在檢測2.jpg這種噪聲較大的圖像時,會受到較大干擾而無法得到邊緣圖像。5)不管什么算子, 默認的檢測方向都是 both , 而如果我們對邊緣檢測方向加以設定, 如 horizontal 或 vertical 時,則邊緣檢測會只對我們設定的方向上加以檢查,而對另一方向的邊緣加以忽略。實驗結論:這次實驗我掌握了一個很好用的算子,即canny 算子,在進行圖像的邊緣檢測中,它是一個優秀的自適應的檢查方式, 另外,log 算子可以對噪音較大的圖像進行先噪聲處理再檢測邊緣,對

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論