Echantillonage d'image

asma -  
 asma -
j eu echantilloner une image.tif sous matlab mais j n sais pas les etapes ?

2 réponses

  1. Yor
     
    Tu dois l'échantilloner par rapport à quoi ? Colorimétrie ? Dimension ?
    0
    1. asma
       
      les deux !!!!!!!!!!!!!!! svp et merci bien d'avance
      0
    2. Yor
       
      Explique moi un peu mieux ton problème, parce qu'à partir du moment où ton image est lisible par matlab, elle est échantillonnée.

      As-tu la toolbox Image de matlab ?
      0
    3. asma
       
      il faut mettre l'image en forme d'une matrice puis l'echontilloner !!! si j ai bien compri la question
      0
    4. asma
       
      oui j ai le toolbox de matlab j suis debudante en matlab j m'excuse j n sais pas trop manipuler
      0
    5. Yor
       
      Tu as un énoncé de problème plus précis que "échantillonner une image" ?
      0
  2. Yor
     
    Ton code pour le moment fait ça :

    a=imread('moon.tif'); %Lit ton image moon.tif et place chaque valeur des pixels dans une matrice
    x=size(a); % Te donne la taille de ta matrice de pixels
    imshow(a); %Affiche ta matrice de pixels.

    x peut prendre deux valeurs : [lignes,colonnes, 3] si il s'agit d'une image en couleur, le 3 correspondant aux valeurs de Rouge, Vert et Bleu du pixel.

    ou, juste, [lignes,colonnes] si ton image de base est en niveaux de gris.

    Si size(x) = 2, tu es en niveaux de gris
    Si size(x) = 3, tu es en couleur

    Il faut donc que tu te serve de la valeur de "lignes" pour faire ton échantillonnage.

    Pour afficher la même image avec une ligne sur 2, il te suffit de faire ce code :

    %Si image en couleur :
    anew = a(1:2:end,:,:); %Prendre une ligne sur 2 de a en hauteur
    imshow(anew);

    %Si image en niveaux de gris
    anew = a(1:2:end,:);
    imshow(anew);

    Ce qui te donne au final dans ton cas le code entier suivant :

    a=imread('moon.tif');
    x=size(a);

    if(size(x)==3)
    anew = a(1:2:end,:,:);
    end

    if(size(x)==2)
    anew = a(1:2:end,:);
    end

    imshow(a);
    figure;
    imshow(anew);

    Et voilà !
    0