clear;
immagine = imread('immagine.jpg');
fourier = fft2(immagine); % Funzione per calcolare la Fast Fourier Transform di un'immagine (2D)
fourier = fftshift(fourier); % Shift della trasformata
[M, N] = size(fourier); % Questi ed altri comandi di base dovrebbero essere chiari, dopo l''articolo sulle basi di Matlab per l'elaborazione delle immagini digitali... ;-)
complessaConiugata = zeros(M,N); % Creo una matrice di zeri della dimensione della trasformata di Fourier; tale matrice conterrà la complessa coniugata
for x=1:M
for y=1:N
complessaConiugata(x,y) = fourier(abs(x-(M+1)), abs(y-(N+1)));
end;
end;
% A questo punto, calcolo la trasformata inversa shiftata della complessa coniugata e la mostro a video:
ifft = ifftshift(complessaConiugata);
ifft = real(ifft2(ifft)); % ifft2 produce una matrice di numeri complessi; noi possiamo considerare e mostrare a video la parte reale, ignorando la parte immaginaria (la teoria che sta alla base di questa considerazione esula da questa trattazione)
imshow(ifft); .