Sie sind auf Seite 1von 2

TP 3 : Quantification dune image en niveaux de gris.

http://www.irit.fr/~Philippe.Joly/Teaching/M1TC4/TP3.html

Le but de ce TP est de mettre en uvre diffrentes techniques de quantification sur une image en niveaux de gris et dobserver le rsultat. Pour cela, nous allons gnrer une image de dgrads en niveaux de gris :
img=zeros(128); for i=1:128 for j=1:128 img(i,j)=i+j-2; end end imshow(img,gray(256));

La commande imshow permet dafficher limage contenue dans une matrice lcran. Le premier paramtre est le nom de la matrice. Le second paramtre indique la table d'encodage des couleurs (ou LUT ) qui doit tre utilise pour cela (ici la table des couleurs est gnre par la fonction gray qui renvoie 256 niveaux de gris diffrents). Pour Matlab, une image est exprime par une matrice en trois dimensions, o la troisime dimension exprime les intensits des composantes couleurs. Pour une image en niveaux de gris, une matrice 2 dimensions suffit pour exprimer l'intensit de chaque pixel. Toutefois, lorsqu'on demande Matlab d'afficher une matrice deux dimensions sous forme d'une image, le logiciel va considrer que la valeur de chaque cellule de la matrice est un code correspondant une couleur mmorise dans une table d'encodage appele "colormap". Cette colormap est initialise avec des couleurs par dfaut. Pour obtenir l'affichage d'une image en niveaux de gris partir d'une matrice deux dimensions, il faut donc modifier la colormap pour associer chaque intensit de la matrice le niveau de gris correspondant. Question 1 : Ecrire la fonction histogramme(img) qui tant donne une matrice img contenant des entiers compris entre 0 et 255 renvoie dans un tableau la quantit de 0, de 1, de 2, .., de 255 compris dans cette matrice. Question 2 : Ecrire la fonction nbniveaux(img) qui indique le nombre dentiers diffrents prsents dans la matrice img Question 3 : Ecrire la fonction MSE(img1, img2) qui calcule lerreur quadratique moyenne entre les chantillons de img1 et ceux de img2. Question 4 : Quantification linaire uniforme Ecrire la fonction quantif1(img,q) qui remplace les entiers de la matrice img par le multiple de q immdiatement infrieur. Observer le rsultat dune quantification sur un quantum de 2, puis de 10, puis de 20 applique limage charge au dbut du TP. Calculer pour ces trois valeurs lerreur quadratique moyenne entre limage de dpart et limage quantifie. A partir de quelle valeur de q pouvez-vous observer des bandes diagonales sur l'image ? Question 5 : Quantification adaptative On reprend ici les notions induites par la fraction de Weber. Plutt que d'oprer une quantification uniforme, nous allons quantifier d'avantage les intensits les plus basses. Le quantum n'est plus unique, mais dpend de l'intensit quantifier.

1 sur 2

17/02/2013 12:33

TP 3 : Quantification dune image en niveaux de gris.

http://www.irit.fr/~Philippe.Joly/Teaching/M1TC4/TP3.html

Ecrire la fonction quantif2(img,p) qui opre une quantification linaire des intensits des pixels telle que le quantum soit de p pour le niveau d'intensit le plus bas (0) et progresse linairement de manire tre 1 pour le niveau d'intensit le plus lev (255). Conseil : on pourra crire une fonction quantum(i) qui, pour une intensit i, retourne le quantum associ. Quelle valeur faut-il donner p pour obtenir un nombre de niveaux d'intensit effectivement prsents dans l'image quivalent celui de la question 4 ?

2 sur 2

17/02/2013 12:33

Das könnte Ihnen auch gefallen