?? 15-1.m
字號:
I = imread('rice.tif');
BW1 = edge(I,'roberts');
% 以自動閾值選擇法對圖像進行Roberts算子檢測
[BW1,thresh1] = edge(I,'roberts');
% 返回當前Roberts算子邊緣檢測的閾值
disp('Roberts算子自動選擇的閾值為:')
disp(thresh1)
subplot(121),imshow(BW1);
title('自動閾值的Roberts算子邊緣檢測')
BW1 = edge(I,'roberts',0.05);
% 以閾值為0.05對圖像進行Roberts算子檢測
subplot(122),imshow(BW1);
title('閾值為0.05的Roberts算子邊緣檢測')
BW2 = edge(I,'sobel');
% 以自動閾值選擇法對圖像進行Sobel算子檢測
figure,subplot(131),imshow(BW2);
title('自動閾值的Sobel算子邊緣檢測')
[BW2,thresh2] = edge(I,'sobel');
% 返回當前Sobel算子邊緣檢測的閾值
disp('Sobel算子自動選擇的閾值為:')
disp(thresh2)
BW2 = edge(I,'sobel',0.05,'horizontal');
% 以閾值為0.05水平方向對圖像進行Sobel算子檢測
subplot(132),imshow(BW2);
title('閾值0.05水平方向Sobel算子')
BW2 = edge(I,'sobel',0.05,'vertical');
% 以閾值為0.05垂直方向對圖像進行Sobel算子檢測
subplot(133),imshow(BW2);
title('閾值0.05垂直方向Sobel算子')
BW3 = edge(I,'prewitt');
% 以自動閾值選擇法對圖像進行Prewitt算子檢測
figure,subplot(131),imshow(BW3);
title('自動閾值的Prewitt算子邊緣檢測')
[BW3,thresh3] = edge(I,'prewitt');
% 返回當前Prewitt算子邊緣檢測的閾值
disp('Prewitt算子自動選擇的閾值為:')
disp(thresh3)
BW3 = edge(I,'prewitt',0.05,'horizontal');
% 以閾值為0.05水平方向對圖像進行Prewitt算子檢測
subplot(132),imshow(BW3);
title('閾值0.05水平方向Prewitt算子')
BW3 = edge(I,'prewitt',0.05,'vertical');
% 以閾值為0.05垂直方向對圖像進行Prewitt算子檢測
subplot(133),imshow(BW3);
title('閾值0.05垂直方向Prewitt算子')
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -