You are on page 1of 7

Épreuve de : TRAITEMENT D’IMAGES Date : 9 novembre 2010

Durée : 1 h − documents non autorisés −
Répondre dans les cadres directement sur le sujet.
Nom : Prénom :
Exercice 1 − Histogrammes et transformations d’histogrammes
Question 1 : Associez chaque image à son histogramme. Justifiez.
(a) (b) (c)
(1) (2) (3)
1
Question 2 : Sont représentées ci-dessous deux transformations d’histogramme. Quel est l’effet de chacune
d’elles ?
(a) (b)
Question 3 : Proposez et dessinez une transformation d’histogramme qui augmente le contraste de l’image
ci-dessous (donnée avec son histogramme). Justifiez.
(a) (b)
2
Exercice 2 − Filtrage
Question 1 : On considère l’image initiale suivante :
Cette image a été traitée avec :
– un filtre médian 3 ×3
– un filtre moyen 3 ×3
– un filtre moyen 5 ×5
Associez chaque image résultat au traitement qui a permis de l’obtenir. Expliquez.
(a) (b) (c)
3
Question 2 : Soit l’image suivante :
0 140 51 191 140 51
0 51 191 140 140 51
51 140 20 20 140 0
51 140 20 20 20 140
0 140 191 0 20 51
0 10 51 10 140 51
Si on convolue cette image avec le filtre
1
16


1 2 1
2 4 2
1 2 1


quelle sera la nouvelle valeur du pixel de coordonnées (2, 3) ? Détaillez votre calcul. Quel est l’effet général
de ce filtre sur une image ?
Question 3 : Soit l’image suivante :
200 200 200 200 200 200 200
200 200 200 200 200 200 200
200 200 200 200 200 200 200
40 40 40 150 150 150 150
40 40 40 150 150 150 150
40 40 40 150 150 150 150
40 40 40 150 150 150 150
40 40 40 150 150 150 150
4
Si on convolue cette image avec le filtre
-1 0 1
-2 0 2
-1 0 1
quelle sera la nouvelle valeur des pixels de coor-
données (3, 3) et (1, 5) ? Les valeurs obtenues par convolution d’une image avec ce filtre sont-elles toujours
comprises entre 0 et 255 ? Comment visualiser le résultat sous la forme d’une image en niveaux de gris ?
Exercice 3 − Création d’un dégradé de niveaux de gris
Question 1 : Complétez le code suivant de façon à obtenir l’image de dégradé :
Les niveaux de gris varient sur chaque ligne de 0 à 255. Dans cette première version vous utiliserez le fait
que la largeur de l’image est 256.
int w = 256;
int h = 100;
ImagePlus im = NewImage.createByteImage ("Filtrage", w, h, 1, NewImage.FILL_BLACK);
ImageProcessor ip = im.getProcessor();
Question 2 : Comment modifier le code pour créer une image de dégradé horizontal de largeur quelconque ?
5
Exercice 4 − Compréhension de code
Soit le code suivant :
public class A_Trouver implements PlugInFilter {
public void run(ImageProcessor ip){
int w = ip.getWidth();
int h = ip.getHeight();
ImagePlus out = NewImage.createByteImage ("Résultat", w/2, h/2, 1, NewImage.FILL_BLACK);
ImageProcessor ipr = out.getProcessor();
for(int y = 0; y < h/2; y++)
for (int x = 0; x < w/2; x++){
int xx = x*2;
int yy = y*2;
int val = (ip.getPixel(xx, yy)+ ip.getPixel(xx+1,yy)+
ip.getPixel(xx+1, yy+1)+ip.getPixel(xx, yy+1))/4;
ipr.putPixel(x, y, val);
}
out.show();
out.updateAndDraw();
}
public int setup(String arg, ImagePlus imp){
return DOES_8G;
}
}
Question 1 : Quel sera le résultat de ce plugin appliqué à l’image :
20 20 50 200
30 50 20 150
50 60 20 20
30 140 200 200
Vous détaillerez le calcul d’un pixel du résultat avant de donner le résultat complet.
Question 2 : Que fait ce plugin ? Expliquez l’idée principale de l’algorithme.
6
Question 3 : Dans le calcul de la variable val est-il possible que les coordonnées (xx+1, yy+1) sortent
des limites de l’image traitée ?
FIN.
7