Edge Detection
% mendapatkan image
im = imread(‘polka.jpg’);
% image grayscale
im = rgb2gray(im);
% smoothing image dengan filter gausian dengan sigma 2.5
imgaus = filter2(fspecial(‘gaussian’, size(im), 2.5), im); % makin gede makin blur
figure,imagesc(imgaus),colormap gray;
% mendapatkan image dg gradien pada horizontal direction
imhoris = filter2([-1 0 1], imgaus);
figure,imagesc(imhoris),colormap gray;
% mendapatkan image dg gradien pada vertikal direction
imvert = filter2([-1; 0; 1], imgaus);
figure,imagesc(imvert),colormap gray;
% mendapatkan edge detection dari image dengan canny option
imed = EDGE(imgaus,’canny’,[0.035 0.140]); % makin gede mkin dikit egdenya
figure,imagesc(imed),colormap gray;
untuk sigma 0.5
smoothing image dengan filter gausian:
image dg gradien pada horizontal direction:
image dg gradien pada vertikal direction:
edge detection dari image dengan canny option:
Untuk sigma 2.5
smoothing image dengan filter gausian:
image dg gradien pada horizontal direction:
image dg gradien pada vertikal direction:
edge detection dari image dengan canny option:
Untuk sigma 10
smoothing image dengan filter gausian:
image dg gradien pada horizontal direction:
image dg gradien pada vertikal direction:
edge detection dari image dengan canny option:
Threshold yang digunakan pada fungsi edge MATLAB:
[0.035 0.140]
Kesimpulan:
Semakin besar threshold yang digunakan, maka semakin sedikit edge yang terbentuk.
Semakin besar sigma yang digunakan pada filter gausian, maka hasil image akan semakin tampak blur.