ガボール フィルター

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

 采纳的回答

まず画像を読み込みます
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度まで配列設定が必要です

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 イメージのフィルター処理と強調 的更多信息

产品

版本

R2022a

Community Treasure Hunt

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

Start Hunting!