Echantillonage d'image

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

A voir également:

2 réponses

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