Matlab-spectre d'image

Bonjour,
j'ai un probleme avec matlab 6 j'ai besoin de faire le spectre de l'image alors je fais ça
n=imread('image.jpg');
N = 2048;
M = abs(fft(n,N));
M = fftshift(M) ;
F = [-N/2:N/2-1]/N;
plot(F,M);
mais j'ai tjrs la meme erreur ?? Error using ==> plot
Data may not have more than 2 dimensions. si vous avez des réposes merci a l'avance ...
Configuration: Windows XP Internet Explorer 6.0

7 réponses

  1. Contributeur
    sort size(F) et size(M) déjà. Et surtout size(n). Ensuite "help imread"
    Il me semble que les images sont décomposés en 3 couleur, ce qui fait un "n" à 3D.
    0
    1. merci pour votre réponse mais j'ai pas de probleme avec imread ou size j'ai le probleme avec plot je veut dessiner le spectre d'une image c tt et merci pr la 2 fois
      0
      1. Contributeur
        Hum...
        En fait, je te demande de vérifier la taille de tes variables pour être sur de ce que tu fourni à plot.
        donne moi ces valeurs STP.
        0
        1. j'ai pas compris keske tu veut faire avec la taille des variables mais la taille de mon image est 300*1203
          0
          1. tu donnes à plot une matrice, on ne peut pas faire Plot sur une matrice...
            je ne me souviens plus des commandes, mais cherche du coté de plot3d (il me semble), ou surf et meshgrid.
            0
            1. Alors comment je veux faire pr ke je puisse avoir le spectre d'une image...
              0
              1. Contributeur
                pour moi le plot d'un matrice fonctionne, ça fait pleins de courbes superposés les unes aux autres.
                safojava, si tu demandes de l'aide c'est que tu ne sais pas. Matlab te dit qu'il y a un problème de dimension de matrice. Donc la première chose à vérifier c'est la tailles de ces matrices ! C'est pour ça que je te demande de nous les donnés.
                Suivant le résultats, on avise. Si les matrices ont la bonne taille, le souci viens de plot et est sérieux. Si les matrices n'ont pas la bonne taille c'est que imread merde. Note que si ton image est en couleur la variable retournée est N×M×3, ce qui expliquerai tout.
                https://www.mathworks.com/help/matlab/ref/imread.html;jsessionid=c0404c95896f49fd0d09c6bbebee
                0
                1. merci normalement mon probleme est résolu je suis débutante en matlab et j'ai pas compris la question est de faire le spectre d'image de phase et amplitude, donc je dois juste affiché l'image avec imshow....
                  0