La Transformée de Fourrier

Bonjour,
je suis débutante en matlab et j'ai besoin vraiment de votre aide.
Fourier transform of image
i=imread('chipper.jpg');
i=rgb2gray(i);
i=im2double(i);
FI=fft2(i);
FI_S=abs(fftshift(FI));
I1=ifft2(FI);
I2=real(I1);
subplot(131),imshow(i),title('original');
subplot(132),imagesc(0.5*log(1+FI_S)),title('fourier spectrum'), axis off;
subplot(133),imshow(I2),title('reconstructed');

c'est la transformée de fourrier qui permet de passer du domaine spatial au domaine fréquentiel.
je veux une explication détaillée de ce code que fait chaque fonction???
par exemple pourquoi transformer l'image en double ?
fftshift=centrage de la fréquence nulle mais que fait abs(fftshift)??
imagesc(0.5*log(1+FI_S))?????pourquoi on a utiliser imagesc et nn imshow ,pourquoi 0.5*log(1+FI_S)???
merci pour votre compréhension,j'ai raiment besoin de votre aide.

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    Tu peux retrouver toutes les réponses sur https://fr.mathworks.com/help/matlab/?requestedDomain=www.mathworks.com ou alors taper dans la fenêtre de commande
    help <nom de la fonction>
    , ou encore rechercher directement dans la documentation de matlab.

    abs(fftshift())
    : déplace toutes les fréquences en recentrant la fréquence null au centre de l'array et prend toutes la valeur absolue

    imshow
    fonctionne assez mal avec des nombres décimaux et même si elle offre plus de réglages pour afficher l'image, on utilise
    imagesc
    pour cette raison.

    imagesc(0.5*log(1+FI_S))
    sert juste à ajuster l'échelle d'affichage. FI_S contient des valeurs entre 0 et 10^x
    1. merci beaucoup .
      une autre question svp:pouvez-vous me donner le code matlab du filtre laplacien dans le domaine différentiel pour la détection de contour.j'ai vraiment besoin de ce code .
      Merci monsieur pour votre compréhension
    2. Je pense que tu peux trouver ça sur internet ou en réfléchissant... A priori, si tu utilises matlab c'est que tu as un minimum de connaissances en mathématique ;)

      Indice : le filtre laplacien existe déjà dans matlab
    3. j'utilise matlab pour la 1er fois en y essayant de calculer la transformé de fourier c tt.comment ce filtre existe en matlab???ou exactement????