La Transformée de Fourrier

Fermé
mannou27 Messages postés 5 Date d'inscription mardi 7 février 2017 Statut Membre Dernière intervention 23 avril 2017 - 22 avril 2017 à 09:48
Hydr0s Messages postés 1678 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 24 août 2022 - 23 avril 2017 à 22:51
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.
A voir également:

1 réponse

Hydr0s Messages postés 1678 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 24 août 2022 679
22 avril 2017 à 12:56
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
0
mannou27 Messages postés 5 Date d'inscription mardi 7 février 2017 Statut Membre Dernière intervention 23 avril 2017
22 avril 2017 à 19:53
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
0
Hydr0s Messages postés 1678 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 24 août 2022 679
23 avril 2017 à 14:02
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
0
mannou27 Messages postés 5 Date d'inscription mardi 7 février 2017 Statut Membre Dernière intervention 23 avril 2017
23 avril 2017 à 22:20
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????
0
Hydr0s Messages postés 1678 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 24 août 2022 679
Modifié le 23 avril 2017 à 22:56
https://fr.mathworks.com/help/search.html?qdoc=laplacian&submitsearch=
Je pense que tu trouveras assez facilement des cours sur Matlab sur le net, c'est un logiciel assez complexe et pas très intuitif...
0