ガボール フィルター

を見ながらフィルターを作ろうと思ったのですが
Wavelength
Orientation
の設定方法が分かりません.
水面に映る波を強調したいです.

 Accepted Answer

Hernia Baby
Hernia Baby on 20 Jul 2022

0 votes

まず画像を読み込みます
I = imread('Wave_sq.png');
imshow(I)
波長 Wavelength と 強調する角度 Orientation を決めます
やり方はgaborを参考にしています
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度まで配列設定が必要です

More Answers (0)

Products

Release

R2022a

Asked:

on 18 Jul 2022

Answered:

on 20 Jul 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!