You are on page 1of 7

preuve de : TRAITEMENT DIMAGES Date : 9 novembre 2010

Dure : 1 h documents non autoriss


Rpondre dans les cadres directement sur le sujet.
Nom : Prnom :
Exercice 1 Histogrammes et transformations dhistogrammes
Question 1 : Associez chaque image son histogramme. Justiez.
(a) (b) (c)
(1) (2) (3)
1
Question 2 : Sont reprsentes ci-dessous deux transformations dhistogramme. Quel est leet de chacune
delles ?
(a) (b)
Question 3 : Proposez et dessinez une transformation dhistogramme qui augmente le contraste de limage
ci-dessous (donne avec son histogramme). Justiez.
(a) (b)
2
Exercice 2 Filtrage
Question 1 : On considre limage initiale suivante :
Cette image a t traite avec :
un ltre mdian 3 3
un ltre moyen 3 3
un ltre moyen 5 5
Associez chaque image rsultat au traitement qui a permis de lobtenir. Expliquez.
(a) (b) (c)
3
Question 2 : Soit limage 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 ltre
1
16

1 2 1
2 4 2
1 2 1

quelle sera la nouvelle valeur du pixel de coordonnes (2, 3) ? Dtaillez votre calcul. Quel est leet gnral
de ce ltre sur une image ?
Question 3 : Soit limage 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 ltre
-1 0 1
-2 0 2
-1 0 1
quelle sera la nouvelle valeur des pixels de coor-
donnes (3, 3) et (1, 5) ? Les valeurs obtenues par convolution dune image avec ce ltre sont-elles toujours
comprises entre 0 et 255 ? Comment visualiser le rsultat sous la forme dune image en niveaux de gris ?
Exercice 3 Cration dun dgrad de niveaux de gris
Question 1 : Compltez le code suivant de faon obtenir limage de dgrad :
Les niveaux de gris varient sur chaque ligne de 0 255. Dans cette premire version vous utiliserez le fait
que la largeur de limage 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 modier le code pour crer une image de dgrad horizontal de largeur quelconque ?
5
Exercice 4 Comprhension 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 ("Rsultat", 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 rsultat de ce plugin appliqu limage :
20 20 50 200
30 50 20 150
50 60 20 20
30 140 200 200
Vous dtaillerez le calcul dun pixel du rsultat avant de donner le rsultat complet.
Question 2 : Que fait ce plugin ? Expliquez lide principale de lalgorithme.
6
Question 3 : Dans le calcul de la variable val est-il possible que les coordonnes (xx+1, yy+1) sortent
des limites de limage traite ?
FIN.
7

You might also like