Transformé de fourier d'une image
Fermé
MDS
-
10 avril 2009 à 11:00
isra2011 Messages postés 1 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 21 avril 2011 - 21 avril 2011 à 13:58
isra2011 Messages postés 1 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 21 avril 2011 - 21 avril 2011 à 13:58
A voir également:
- Transformé de fourier d'une image
- Frédéric cherche à faire le buzz sur les réseaux sociaux. il a ajouté une image de manchots sur une image de plage. retrouvez l'image originale de la plage. que cachent les manchots ? ✓ - Forum Windows
- Recherche par image - Guide
- Image iso - Guide
- Faststone image viewer - Télécharger - Visionnage & Diaporama
- Agrandir une image - Guide
7 réponses
squall289
Messages postés
98
Date d'inscription
mardi 31 mars 2009
Statut
Membre
Dernière intervention
29 mai 2009
13
10 avril 2009 à 11:05
10 avril 2009 à 11:05
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.
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.
MDSUM2
Messages postés
54
Date d'inscription
vendredi 10 avril 2009
Statut
Membre
Dernière intervention
10 juin 2009
10 avril 2009 à 11:24
10 avril 2009 à 11:24
merci,
mais je veux tracer le spectre de la premiere ligne de l'image et de la ligne Nlin/2
mais je veux tracer le spectre de la premiere ligne de l'image et de la ligne Nlin/2
squall289
Messages postés
98
Date d'inscription
mardi 31 mars 2009
Statut
Membre
Dernière intervention
29 mai 2009
13
10 avril 2009 à 11:28
10 avril 2009 à 11:28
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.
ç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
Messages postés
1
Date d'inscription
jeudi 21 avril 2011
Statut
Membre
Dernière intervention
21 avril 2011
21 avril 2011 à 13:58
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
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
MDSUM2
Messages postés
54
Date d'inscription
vendredi 10 avril 2009
Statut
Membre
Dernière intervention
10 juin 2009
10 avril 2009 à 11:52
10 avril 2009 à 11:52
pour l'affichage c'est pas
figure(1);image("nom de l'image")?
figure(1);image("nom de l'image")?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
squall289
Messages postés
98
Date d'inscription
mardi 31 mars 2009
Statut
Membre
Dernière intervention
29 mai 2009
13
10 avril 2009 à 11:56
10 avril 2009 à 11:56
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..
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..
MDSUM2
Messages postés
54
Date d'inscription
vendredi 10 avril 2009
Statut
Membre
Dernière intervention
10 juin 2009
10 avril 2009 à 11:59
10 avril 2009 à 11:59
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 ?
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 ?
squall289
Messages postés
98
Date d'inscription
mardi 31 mars 2009
Statut
Membre
Dernière intervention
29 mai 2009
13
10 avril 2009 à 14:59
10 avril 2009 à 14:59
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.
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.