1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| A = imread(img);
B = imresize(A, [200 200]);
gray_img=rgb2gray(B);
ilevel_img=mat2gray(gray_img);
fft_2D_img=fft2(ilevel_img);
fft_shift = fftshift(fft_2D_img);
imagesc(log(abs(fft_shift+1)));
%% * Calcul de kx et ky: Deux méthodes de calcul (R,r = row et C,c = column)
%==========================================================================
% Méthode 1
C=200;R=200;
dx = 1;
dy = 1;
%Characteristic wavelengths
KX0 = (mod(1/2 + (0: (C-1))/C , 1) - 1/2);
KX1 = KX0 * (2*pi/dx);
KY0 = (mod(1/2 + (0: (R-1))/R , 1) - 1/2);
KY1 = KY0 * (2*pi/dy);
[KX,KY] = meshgrid(KX1,KY1);
K = sqrt( KX.^2 + KY.^2 );
%==========================================================================
% Méthode 2
c=200;r=200;
dx=1;dy=1;
kxmax = 1/( 2*dx );
kx = linspace(-kxmax,kxmax,c);
kymax = 1/( 2*dy );
ky = linspace(-kymax,kymax,r);
[Kx,Ky] = meshgrid(kx,ky);
k = sqrt( Kx.^2 + Ky.^2 );
% wavenumber spectrum S(kx,ky)
WNS_banc = fft_2D_img^2; |
Partager