邊緣檢測的簡單例子(MATLAB)

x = - 2 : 0.05: 2;
y = - 2 : 0.05: 2;
sigma = 0.5 ;
y = y';
for i = 1: ( 4 /0.05 + 1)
xx( i, : ) = x;
yy( : , i ) = y;
end
% 產生矩形網格
r = 1 / ( 2* pi* sigma^4) * ( ( xx.^2 + yy.^2 ) / ( sigma^2) - 2).* ...
exp( - ( xx.^2 + yy.^2 ) / ( 2 * sigma^2) ) ;
% 計算LoG 算子的值
colormap( jet( 16) ) ;
mesh( xx, yy, r)
% mesh 函數用於將函數值用三維網格顯示

邊緣檢測
I = imread('eight.tif') ;
BW1 = edge( I, 'prewitt') ;
BW2 = edge( I, 'canny') ;
BW3 = edge( I, 'log') ;
subplot( 221) , imshow( I) , title( 'original image') ;
subplot( 222) , imshow( BW1) , title( 'prewitt') ;
subplot( 223) , imshow( BW2) , title( 'canny') ;
subplot( 224) , imshow( BW3) , title( 'laplacian') ;

http://zhidao.baidu.com/question/150295084.html

另外兩種算法,
I = imread('black.jpg') ;
BW1 = edge( I(:,:,1), 'prewitt') ;
BW2 = edge( I(:,:,1), 'canny') ;
BW3 = edge( I(:,:,1), 'Sobel') ;
subplot( 221) , imshow( I) , title( 'original image') ;
subplot( 222) , imshow( BW1) , title( 'prewitt') ;
subplot( 223) , imshow( BW2) , title( 'canny') ;
subplot( 224) , imshow( BW3) , title( 'laplacian') ;

發佈了39 篇原創文章 · 獲贊 11 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章