appliquer à une image le filtre de gabor sous matlab

Liszt

New member
J'ai déjà essayer d'écrire un code pour appliquer à une image un filtre de gabor ayant une orientation 90 et size=7x7. Mais il n'est pas complètement correcte. Je ne sais pas comment remplacer x et y par les pixels de l'image. S'il vous plait donner moi vos aides :)

Code:
image=imread('Best_Friends.jpg');
image_gray=rgb2gray(image);
image_resize=imresize(image_gray, [160 160]);
image_resize=im2double(image_resize);
figure(1);
imshow(image_resize);
title('Input Image');

%Gabor filter size 7x7 and orientation 90 degree
gamma=0.3;
psi=0;
theta=90;
bw=2.8;
lambda=3.5;
pi=180;

for x=1:160
    for y=1:160
        
x_theta=x*cos(theta)+y*sin(theta);
y_theta=-x*sin(theta)+y*cos(theta);

gb(x,y)= exp(-(x_theta.^2/2*bw^2+ gamma^2*y_theta.^2/2*bw^2))*cos(2*pi/lambda*x_theta+psi);

    end
end

figure(2);
imshow(gb);
title('filtered image');
 

Welcome to EDABoard.com

Sponsor

Back
Top