Vous êtes sur la page 1sur 11

Université Abdelmalek Essaadi

ENSA de Tétouan Prof. Abdellatif MEDOURI


Filière GI2 Année universitaire : 2020-2021
Traitement des images

Solution de la série de TD 1
Exercice 1
Dimension :13 × 10 cm.
Résolution demandée : 300 dpi (au minimum).
dpi : dot per inch : nombre de pixels dans 1 pouce (1” = 2, 54 cm)
Calculons la taille de l’image en pixel si la résolution est de 300 dpi :
300
Largeur : × 13 = 1535, 43 soit 1535 pixels.
2, 54
300
Longueur : × 10 = 1181, 10 soit 1181 pixels.
2, 54
Donc, la taille minimale de l’image en pixels est 1535 × 1181 pixels .
Remarque : Dans le calcul de la taille en pixels, on prend toujours la partie entière
des résultats des opérations.
Exercice 2
On a une image en niveaux de gris de largeur 15 cm et de longueur 10 cm codée sur
8 bits.
1. Résolution de l’image 600 dpi, c’est à dire, dans chaque pouce on a 600 pixels ;
soit donc 600 pixels dans chaque 2,54 cm.
D’où la taille de l’image en pixels est :
15
Largeur : × 600 = 3543, 307 soit 3543 pixels.
2, 54
10
Longueur : × 600 = 2362, 204 soit 2362 pixels.
2, 54
La taille de l’image en bits est :

tg = 3543 × 2362 × 8 = 66948528 bits = 66,9 Mbits

2. si cette image été en RGB, alors sa taille tc sera le triple de sa taille en nivaux de
gris :
Soit donc :

tc = 3 × tg = 3 × 6694852 bits = 200845584 bits = 200,8 Mbits

3. Si cette image été en noir et blanc, elle sera donc codée sur 1 bit, d’où la taille tb
sera donnée par :

tb = 3543 × 2362 = 8368566 bits = 8,37 Mbits

Exercice 3
1. IL y’a 3 types de formats PNM : Le format PBM "Portable Bit Map" pour les
images en noir et blanc, le format PGM "Portable Grayscal Map" pour les images
en niveaux de gris et le format PPM "Potabl Pix Map" pour les images couleurs.

1/11
Comme l’image I st codée sue 1 bit, elle est donc une image en noir et blanc. Le
format PNM adéquat à cette image est donc le format PBM.

2. Le fichier contenant l’image I sous format PBM est de la forme suivante si les
informations son en ASCII :

P1
# Image I codée sur 1 bit
44
0 1 0 1
1 0 1 0
0 1 0 1
1 0 1 0
3. Comme l’image J est codée sur 4 bits, elle est donc une image en niveaux de gris.
Le format PNM à utiliser est donc PGM. Le fichier contenant l’imge J sous format
PGM est de la forme suivante si les informations sont en ASCII :

P2
# Image I codée sur 4 bit
44
15
0 15 0 15
15 0 15 0
0 15 0 15
15 0 15 0

Exercice 4
1. IL y’a 3 types de formats PNM : Le format PBM "Portable Bit Map" pour les
images en noir et blanc, le format PGM "Portable Grayscal Map" pour les images
en niveaux de gris et le format PPM "Potabl Pix Map" pour les images couleurs.
Comme l’image I st codée sue 1 bit, elle est donc une image en noir et blanc. Le
format PNM adéquat à cette image est donc le format PBM.

2. Comme l’image I est une image couleur codée sur 4 bits, alors le format adéquat
est le PPM, et si le fichier est en ASCII, il contiendra :
P3
# Image I en couleur codée sur 4 bit
6 6
15
15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
15 15 15 0 0 0 15 15 15 15 15 15 15 15 15 15 15 15
15 15 15 0 0 0 15 15 15 15 15 15 15 15 15 15 15 15
15 15 15 0 0 0 15 15 15 15 15 15 15 15 15 15 15 15
15 15 15 0 0 0 0 0 0 0 0 0 0 0 0 15 15 15
15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15

2/11
3. Comme l’image est codée sur 1 bits, elle est donc en noir et blanc. Le format PNM
adéquat est le PBM. Le contenu du fichier sera donc :
P1
# Image I codé sur 1 bit
66
1 1 1 1 1 1
1 0 1 1 1 1
1 0 1 1 1 1
1 0 1 1 1 1
1 0 0 0 0 1
1 1 1 1 1 1

Exercice 5
On remarque que les images I et J ne contiennent que deux valeurs de niveaux de
gris : 100 et 200. Il est donc plus pratique de répondre aux questions 1) 2) et 3) en
raisonnant sur les valeurs de niveaux de gris :
1. Par définition A = I + J est donnée par :

A(i, j) = min[I(i, j) + J(i, j); 255]


donc (
200 si I(i, j) = J(i, j) = 100
A(i, j) =
255 sinon.
200 200 200 200 200 200
200 255 255 255 200 200
A = 200 255 255 255 200 200
200 200 200 200 200 200
200 200 200 200 200 200
On constate qu’il y’a saturation dans tous les pixels où I(i, j) = 200 ou J(i, j) =
200.
2. S = I − J ⇔ S(i, j) = max(I(i, j) − J(i, j); 0)
On a donc :

100 si I(i, j) = 200 et J(i, j) = 100,
S(i, j) =
0 sinon
0 0 0 0 0 0
0 100 0 0 0 0
S= 0 100 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
3. D = |I − J| ⇔ D(i, j) = |I(i, j) − J(i, j)| On a donc :

3/11

100 si I(i, j) 6= J(i, j),
D(i, j) =
0 sinon
0 0 0 0 0 0
0 100 0 100 0 0
D= 0 100 0 100 0 0
0 0 0 0 0 0
0 0 0 0 0 0
4. Pour obtenir le résultat demandé, il faut appliquer un seuillage à l’image I :
Soit S le seuil de seuillage ; toute valeur comprise entre 100 et 200 est correcte.
Choisissant S = 150, on a donc :

255 si I(i, j) ≥ 150,
Is (i, j) =
0 si I(i, j) < 150

soit donc :
0 0 0 0 0 0
0 255 255 0 0 0
Is = 0 255 255 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
Exercice 6
1. Soit le tableau suivant contenant les occurrences des niveaux de gris de l’image I :
n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
H(n) 0 11 0 13 12 0 0 0 0 0 0 9 4 0 0 0

l’histogramme est donc :

13
12
11
10 9
H(n)

5 4

0 0 0 0 0 0 0 0 0 0 0
0

0 2 4 6 8 10 12 14 16
n

4/11
2. L’égalisation de l’histogramme consiste tout d’abord à appliquer la transformation
suivante à l’image I afin d’obtenir l’image égalisée Ie :
C(I(i, j)) × (L − 1)
Ie (i, j) =
N
avec C(I(i, j)) l’histogramme cumulé de l’image I, L = 16, et N = 49. Calculons
d’abord l’histogramme cumulé. On a :
C(n) = C(n − 1) + H(n) pour n ≥ 1 et C(0) = H(0)
Les résultats de C(n) sont groupés dans le tableau suivant :

n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
H(n) 0 11 0 13 12 0 0 0 0 0 0 9 4 0 0 0
C(n) 0 11 11 24 36 36 36 36 36 36 36 45 49 49 49 49
Calculons Ie en utilisant l’approximation de l’entier naturel le plus proche. Les
résultats sont présentés dans le tableau suivant :
I(i,j) 1 3 4 11 12
C(I(i,j)) 11 24 36 45 49
Is =
(3.37) (7.35) (11.02) (13.78) (15)
Ie (i, j) 3 7 11 14 15
En tenant compte des valeurs du tableau précédent et ceux de l’histogramme de
I, on peut établir le tableau suivant de l’histogramme égalisé :

n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
H(n) 0 11 0 13 12 0 0 0 0 0 0 9 4 0 0 0
He (n) 0 0 0 11 0 0 0 13 0 0 0 12 0 0 9 4
La représentation de He (n) est donc :

13
12
11
10 9
He(n)

5 4

0 0 0 0 0 0 0 0 0 0 0
0

0 2 4 6 8 10 12 14 16
n

5/11
L’image Ie est donc :

0 1 2 3 4 5 6
0 7 7 3 14 3 7 7
1 7 3 11 14 11 14 7
2 3 11 11 15 11 11 3
Ie =
3 14 14 15 7 15 14 14
4 3 11 11 15 11 11 3
5 7 3 11 14 11 3 7
6 7 7 3 14 3 7 7

3. codage de Huffman :
Le codage de Huffman consiste à classer les couleurs par ordre décroissant de
probabilité et ensuite on commence à relier les couleurs de faibles probabilité.

n code
3 00
4 10
1 11
11 010
12 011

ti = 49 × 4 = 196 bits
tf = (13 + 12 + 11) × 2 + (9 + 4) × 3 = 72 + 39 = 11 bits
ti − tf
ρ= = 0, 4336
ti
soit 43, 36%
4. codage de Shannon-Fano :
Le codage de Shannon-Fano consiste, après le classement en ordre décroissants de
l’occurrence des couleurs, à diviser les couleurs en deux groupes de probabilités

6/11
égales (ou proches). L’opération se réitère pour chaque groupe jusqu’à l’obtention
des sous-groupes ne contenant qu’une seule couleur par sous-groupe
n Étape 1 Étape 2 Étape 3 code
(13) 3 0 00
0
(12) 4 1 01
(11) 1 0 10
(9) 11 1 0 110
1
(4) 12 1 111

ti = 49 × 4 = 196 bits
tf = (13 + 12 + 11) × 2 + (9 + 4) × 3 = 72 + 39 = 11 bits
ti − tf
ρ= = 0, 4336
ti
soit 43, 36%
Exercice 7
1. Histogramme de l’image I :

n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
H(n) 0 0 1 12 13 12 17 7 1 0 8 5 9 10 5 0

17

15
13
12 12
10
10 9
H(n)

8
7
5 5
5

1 1
0 0 0 0
0

0 2 4 6 8 10 12 14 16
n

2. D = nmax − nmin = 14 − 2 = 12
3. On applique à l’image I une correction de niveaux de gris de la forme g(i) = αi+β.
On veut que l’image corrigée aille 15 comme dynamique. Soit Ic cette image. On
a donc :

Ic (i, j) = α · I(i, j) + β

7/11
On doit avoir : (
M ax(Ic (i, j)) = αM ax(I(i, j)) + β
M in(Ic (i, j)) = αM in(I(i, j)) + β
Comme M ax(I(i, j)) = 14 et M in(I(i, j)) = 2, alors qu’on veut une dynamique
D = 15, c’est à dire M ax(I(i; j)) = 15 et M in(I(i, j)) = 0. On a le système
suivant : ( (
15 = α · 14 + β α · 14 = 15 − β

0=α·2+β β = −2 · α
15

( α=
(14 − 2) · α = 15 12


⇒ ⇒
β = −2 · α  −15

β= 6

15 15
⇒ g(i) =
·i−
12 6
Cette transformation est une extension linéaire de la dynamique.
4. Histogramme cumulé de I :

n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
H(n) 0 0 1 12 13 12 17 7 1 0 8 5 9 10 5 0
C(n) 0 0 1 13 26 38 55 62 63 63 71 76 85 95 100 100
La valeur de C(n) pour n = 15 est 100. C’est le nombre total de pixels dans
l’image I. Ce résultat est prévu car l’image est codé sur 4 bits, le niveau de gris
maximum est 24 − 1, soit 15, et on a tous les pixels de l’image ont un niveau de
gris ≤ 15 (24 − 1).

100 100
100 95
85
80 76
71
62 63 63
60 55
C(n)

40 38
26
20 13
0 0 1
0

0 2 4 6 8 10 12 14 16
n
5. Égalisation de l’histogramme :
La loi de correction g est l’histogramme cumulé, mais on doit d’abod adapter les
valeurs de g à l’intervale [0, 15]. Donc :
g(n) = α · C(n) + β

8/11
avec max(g(n)) = 15 et min(g(n)) = 0
( (
max(g(n)) = α · max(C(n)) + β 15 = α · 100 + β

min(g(n)) = α · min(C(n)) + β 0=α·0+β ⇒ β =0

15 3 3
⇒ α= = ⇒ g(n) = · C(n)
100 20 20
3
⇒ Ie (i, j) = C(I(i, j)) . (Ie : Image égalisée).
20
6. En utilisant l’approximation de l’entier naturel le plus proche, on a :

I(i, j) 2 3 4 5 6 7 8 10 11 12 13 14
C(I(i, j)) 1 13 26 38 55 62 63 71 76 85 95 100
g(I(i; j)) 0,15 1,95 3,90 5,70 8,25 9,30 9,45 10,65 11,40 12,75 14,25 15
Ie (i; j) 0 2 4 6 8 9 9 11 11 13 14 15

Déterminons l’histogramme de l’image corrigée :

n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
He (n) 1 0 12 0 13 0 12 0 17 8 0 13 0 9 10 5
Ce (n) 1 1 13 0 26 26 38 38 55 63 63 76 76 85 96 100

17

15
13 13
12 12
10
10 9
He (n)

5
5

1
0 0 0 0 0 0
0

0 2 4 6 8 10 12 14 16
n

9/11
100
100 95
85
80 76 76
63 63
60 55
Ce (n)

40 38 38
26 26
20 13
1 1 0
0

0 2 4 6 8 10 12 14 16
n
L’histogramme cumulé obtenu s’approche de la forme de l’histogramme idéal d’une
image égalisée.
Exercice 8
1.
8×8×4
Ti = = 32 octets = Ti
8
8×8×8
Ti8 = = 64 octets = Ti8
8
2. Soi le tableau suivant des occurrences des niveaux de gris de l’image I :

n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
H(n) 0 0 0 0 11 0 0 0 0 0 0 4 21 28 0 0
30 28

21
20
H(n)

11
10
4
0 0 0 0 0 0 0 0 0 0 0 0
0

0 2 4 6 8 10 12 14 16
n
3. Par définition, le contraste est donné par :
N
1 X
C= (I(i, j) − M oy)2
N i,j=1

10/11
avec
N
1 X
M oy = I(i, j).
N i,j=1
1
On a donc : M oy = (11 × 4 + 4 × 1 + 12 × 21 + 28 × 13) = 11.
64
1 h i
C= 11 · (4 − 11)2 + 4 · (11 − 11)2 + 21 · (12 − 11)2 + 28 · (13 − 11)2
64
1
C= [539 + 21 + 112] = 10, 5
64
4. Codage de Shannon-Fano :

couleur Étape 1 Étape 2 Étape 3 code


(28) 13 0 0
(21) 12 0 10
(11) 4 1 0 110
1
(4) 11 1 111
Ti − Tf
ρSh =
Ti
Tf = 28 × 1 + 21 × 2 + 11 × 3 + 4 × 3 = 115 bits et Ti = 32octes = 256 bits
256 − 115
⇒ ρSh = = 0.55
256
Soit ρSh = 55% .
5. Codage de Huffman :

n code
13 0
12 10
4 110
11 111
Vue que les codes sont les mêmes que ceux obtenus dans la question précédente,
ici aussi on a : ρH = 55% .
6. Dans notre cas on a obtenu un taux de compression identique pour le codage de
Shannon-Fano et le codage de Huffman. Mais d’une manière générale, le codage
de Huffman permet d’obtenir un taux de compression supérieur ou égale à celui
du codage Shanon-Fano.

11/11

Vous aimerez peut-être aussi