まず画像を読み込みます
I = imread('Wave_sq.png');
imshow(I)
波長 Wavelength と 強調する角度 Orientation を決めます
Wavelengthは小さいほど粒度が細かくなりますし、粗いと大きくなります
OrientationはDegreeみたいですね
wavelength = 35;
orientation = [0 45 90 135];
g = gabor(wavelength,orientation);
後はもうフィルタ掛けてモンタージュ表示するだけです
outMag = imgaborfilt(I,g);
outSize = size(outMag);
outMag = reshape(outMag,[outSize(1:2),1,outSize(3)]);
figure, montage(outMag,'DisplayRange',[]);
title('Montage of gabor magnitude output images.');
上記のようにそれぞれの角度で強調させることができました
それで輪郭をとる場合は、波長を最小から最大まで配列で設定し、角度も0~180度まで配列設定が必要です