Téléchargement
illégal
Posez votre question Signaler

Transformé de fourier d'une image

MDS - Dernière réponse le 21 avril 2011 à 13:58
Bonjour,
je ne parviens pas à tracer le spectre d'une ligne d'une image 2D avec matlab.merci
Lire la suite 

Transformé de fourier d'une image »

8 réponses
Réponse
+0
moins plus
Bonjour,
Tu veux tracer le spectre d'une seule ligne ou de l'image totale ?
Il y a un fft2(...) à faire au début, puis un abs pour avoir la valeur absolue et un fftshift pour redresser l'origine de ton image.
Donc pour une image complete, cela donne du abs(fftshift(fft2("image.jpg")));
et pour un profil de ligne tu fais une simple fft apres avoir extrait la ligne je dirai.
Ajouter un commentaire
Réponse
+0
moins plus
merci,
mais je veux tracer le spectre de la premiere ligne de l'image et de la ligne Nlin/2
Ajouter un commentaire
Réponse
+0
moins plus
récupère donc ta première ligne, ensuite tu fais une simple fft et tu affiche la valeur absolue.
ça donne un truc du genre :

I=imread("image.jpg");
[M,N]=size(I);

ligne1=I(:,1);
ligne2=I(:,M/2);

fourier=fft(ligne1);

et ensuite tu affiches, il me semble qu'il y a une fonction qui te fait directement la transformée de Fourier ainsi que l'affichage; sinon tu va galérer à te faire une échelle log...
mais regarde, normalement la fonction est toute faite.
isra2011- 21 avril 2011 à 13:58
SALUT,
j ai essyé ce programme,mé lors de lexecution ç est detecté des ereurs,au niveau de cette ligne [M,N]=size(I); Le M et N se sont les lignes et les collones de nnotre image ?
merci d avance
Ajouter un commentaire
Réponse
+0
moins plus
pour l'affichage c'est pas
figure(1);image("nom de l'image")?
Ajouter un commentaire
Réponse
+0
moins plus
plutot imshow(I);
mais ici tu as un profil de ligne, ce n'est donc pas une image que tu veut afficher mais un graphe donc cela ne fonctionnera pas. Il faut que tu fasses comme si tu voulais tracer le diagramme de Bode d'une fonction.
Tu peux par exemple définir un vecteur f=-1000:1000; et faire un plot(f,fourier1); par exemple. Mais le résultat ne sera pas excellent.
C'est étrange qu'on te demande qu'un profil de ligne, normalement pour du traitement d'image on travail sur la fft complète, ça permet de voir les basses fréquences au centre, la HF vers l'exterieur, la valeur moyenne à l'origine, d'appliquer des filtres etc..
Ajouter un commentaire
Réponse
+0
moins plus
en fait c'est ça la question:
Essayez de regarder ce qu'il se passe si vous faites la fft sur la ligne N/2 de votre image. Tracez ce spectre.
Effectuez la même opération sur la première ligne de l'image. Conclusion ?
Ajouter un commentaire
Réponse
+0
moins plus
et quelle est l'image observée ?
Une ligne d'une image correspond à un signal, composé en de plusieurs fréquences.
Le spectre sera différent. Mais je ne vois pas l'interet de faire cette manip.
Enfin bref, essaie de faire un plot en ayant défini un vecteur fréquence, ça devrait le faire quand même.
Ajouter un commentaire
Ce document intitulé « transformé de fourier d'une image » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?