Echantillonage d'image

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

2 réponses

  1. Tu dois l'échantilloner par rapport à quoi ? Colorimétrie ? Dimension ?
    0
    1. les deux !!!!!!!!!!!!!!! svp et merci bien d'avance
      0
    2. 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. il faut mettre l'image en forme d'une matrice puis l'echontilloner !!! si j ai bien compri la question
      0
    4. oui j ai le toolbox de matlab j suis debudante en matlab j m'excuse j n sais pas trop manipuler
      0
    5. Tu as un énoncé de problème plus précis que "échantillonner une image" ?
      0
  2. 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