IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Images Discussion :

Transforme Fourier pour une image rgb


Sujet :

Images

  1. #1
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut Transforme Fourier pour une image rgb
    Salut a tous et merci pour lire ma question!

    Je veux calculer dans la premiere phase la transforme Fourier d'une image que je lis avec imread et aussi le spectre de magnitude de cette image en utilisant la fonction mag2d. J'utilise Image Processing Toolbox.


    En command window ou dans un script matlab:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
     img = imread ('poza.jpg'); % selection d'une photo et lire la photo -c'est une image rgb
    img_fft = fft2(double( img ) ); % application fonction fft2 pour le calcul de la Transforme Fourier de cette image 
    shiftedrectfft=fftshift(img_fft);
    b=surf(abs(shiftedrectfft))


    Voila les etapes que je dois parcourir:

    (1) - Selectionner et lire une image ( OK)
    (2) Obtenir la transforme Fourier fft2 fonction et le spectre de magnitude a l'aide de la fonction mag2d. (OK mais mag2d le probleme).

    Mon souci ce que je ne sais pas obtenir le spectre de magnitude a l'aide de la fonction mag2d.

    Quoi dois-je ajouter a mon code?


    Quand je fais appel a la fonction pour calculer le spectre de magnitude (fonction mag2d) il apparait comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    mag2d not found.
     
    Use the Help browser Search tab to search the documentation, or
    type "help help" for help command options, such as help for methods.
     
    >>
    J'utilise matlab 7.7(2008b).

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Où as-tu trouvé cette fonction ?
    mag2d n'existe pas (en tout cas dans aucune toolbox de MATLAB, tu peux faire la recherche ici : Liste alphabétique Fonctions)

    Peut-être pensais-tu à mag2db ?
    Dans ce cas tu verras dans le lien que je t'ai donné qu'il te faut la Control System ou la Signal Processing Toolbox.
    Règles du Forum

    Adepte de la maïeutique

  3. #3
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut
    Salut caro! Merci pour ta reponse!

    Je me suis un peu confondu a cause de ce lien en bas il explique les etapes et il disait mag2d une fonction qui n'existe pas dans matlab.

    http://www.cs.unm.edu/~brayer/vision/fourier.html

    Je veux implementer les etapes de (1) a (5).

    Voila ce que j'ai essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     img = imread ('poza.jpg'); % selection d'une photo et lire la photo -c'est une image rgb
    img_fft = fft2(double( img ) ); % application fonction fft2 pour le calcul de la Transforme Fourier de cette image 
    shiftedrectfft=fftshift(img_fft);
    b=surf(abs(shiftedrectfft))
    img2=ifft2(img); % applier l'inverse de la Transforme Fourier pour l'image poza.jpg
    F=fft2(img1); % calculam transformata Fourier pt.imaginea continuta in variabila img1 folosind functia fft2
    S = 20*log10(abs(F)); % calcul du spectre
    En fait je veux faire deux representations graphiques pour la transforme Fourier et l'inverse de la Transforme fourier de mon image poza.jpg.

    L'image c'est 3D donc une representation surf ou mesh je crois qu'elle est accepte.

    Pouvez vous m'aider comment calculer la transforme inverse Fourier a mon script ifft2 ?

    C'est bien comme ca?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    G=ifft2(img1); % calcul de la transforme Fourier inverse de l'image 2D
    En fait je veux suivre les etapes presentes ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    (1) Pick an image.
    (2) FFT it and find the magnitude spectrum.
    	see man for fft2d and mag2d
    (3) Do something to the spectrum or the fft.
    	ex:	filter
    		fftfilt
    		something like:
    			cm
    			double
    			multiply by alternating +1,-1
    			take phase only
    			take magnitude only
    (4) Reconstruct an image by inverse fft.
    	see man for ifft2d
    (5) Put the results together like the above images using "group"
    	see man for group
    (6) Explain your results (1-2 pages).
        More credit will be given to the imagination of what you do than
        to the correctness of your explanation.

Discussions similaires

  1. maximally stable colour regions pour une image RGB
    Par mayssaMM dans le forum Images
    Réponses: 3
    Dernier message: 28/03/2013, 18h04
  2. Transformée de Fourier d'une image
    Par slayer21 dans le forum Images
    Réponses: 15
    Dernier message: 06/07/2009, 10h42
  3. transformer une image RGB en niveau de gris
    Par tapouni dans le forum Traitement d'images
    Réponses: 9
    Dernier message: 28/04/2008, 17h25
  4. histogramme rgb une pour une image
    Par terry26 dans le forum Imagerie
    Réponses: 1
    Dernier message: 10/05/2007, 23h01
  5. histograme rgb pour une image
    Par terry26 dans le forum C++Builder
    Réponses: 3
    Dernier message: 10/05/2007, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo