MATLAB中有spatialgabor函数,利用这个函数可以实现多个方向和尺度的Gabor滤波
实例:
clear,clc,close all
angle = 0:18:90; % direction
image = rgb2gray(imread('Lena.bmp'));
k = [0.6,1.2]; % scale
figure(1)
suptitle('Lena')
for ik=1:2
for iangle=1:6
subplot(4, 6, (ik-1)*6+iangle)
[EvenFiltOut, OddFiltOut, AmpFiltOut] = spatialgabor(image, 3, angle(iangle), k(ik), k(ik), 1);
subplot(4, 6, (ik-1)*6+iangle+12)
imshow(uint8(AmpFiltOut))
end
end
image = imread('Camman.bmp');
k = [1,1.5]; % scale
figure(2)
suptitle('Camera Man')
for ik=1:2
for iangle=1:6
subplot(4, 6, (ik-1)*6+iangle)
[EvenFiltOut, OddFiltOut, AmpFiltOut] = spatialgabor(image, 2, angle(iangle), k(ik), k(ik), 1);
subplot(4, 6, (ik-1)*6+iangle+12)
imshow(uint8(AmpFiltOut))
end
end
matlab Gabor 滤波实例
最新推荐文章于 2022-11-13 17:01:27 发布