Académique Documents
Professionnel Documents
Culture Documents
l’image
4ème Année
n©N
S. LYAQINI
lyaqini.soufiane@gmail.com
2023/2024
Algorithmique & Complexité Complexité | Introduction
Contents
1 Introduction
S. LYAQINI | c b n a 2 / 63
Algorithmique & Complexité Complexité | Introduction
Introduction
Objectif
Ce chapitre expose des méthodes dans le domaine spatial. Le terme
domaine spatial désigne l’ensemble des pixels composant une image. Les
méthodes dans le domaine spatial sont des procédures qui traitent
directement ces pixels et ce sont définis par l’expression :
S. LYAQINI | c b n a 3 / 63
Algorithmique & Complexité Complexité | Introduction
Introduction
L’approche principale pour définir un voisinage autour d’un point (x, y) est
d’utiliser une fenêtre carrée ou rectangulaire centrée en (x, y), tel que
montré sur la Figure. Le centre de la fenêtre est déplacé d’un pixel à un
autre commençant, par exemple, en haut à gauche. L’opérateur T est
appliqué à chaque point (x, y) pour donner le résultat g(x, y) à ce point.
S. LYAQINI | c b n a 4 / 63
Algorithmique & Complexité Complexité | Introduction
Introduction
Introduction
s = T (r)
où r et s sont des variables représentant les niveaux de gris f (x, y) et g(x, y),
respectivement, en tout point (x, y).
S. LYAQINI | c b n a 6 / 63
Algorithmique & Complexité Complexité | Quelques transformations de base
Contents
1 Introduction
S. LYAQINI | c b n a 7 / 63
Algorithmique & Complexité Complexité | Quelques transformations de base
S. LYAQINI | c b n a 8 / 63
Algorithmique & Complexité Complexité | Quelques transformations de base
S. LYAQINI | c b n a 8 / 63
Algorithmique & Complexité Complexité | Quelques transformations de base
Le négatif d’une image dont les niveaux de gris sont dans l’intervalle
[0, L − 1] est obtenu en utilisant la transformation négative représentée sur
la Figure donné par
s=L−1−r
S. LYAQINI | c b n a 10 / 63
Algorithmique & Complexité Complexité | Quelques transformations de base | Négatifs de l’image
Le négatif d’une image dont les niveaux de gris sont dans l’intervalle
[0, L − 1] est obtenu en utilisant la transformation négative représentée sur
la Figure donné par
s=L−1−r
S. LYAQINI | c b n a 10 / 63
Algorithmique & Complexité Complexité | Quelques transformations de base | Négatifs de l’image
S. LYAQINI | c b n a 11 / 63
Algorithmique & Complexité Complexité | Quelques transformations de base | Transformations logarithmiques
Transformations logarithmiques
Transformations logarithmiques
La forme générale de la transformation logarithmique montrée sur la Fig.
2.2 est :
s = c log(1 + r) (1)
où c est une constante, et on suppose que r ≥ 0.
S. LYAQINI | c b n a 12 / 63
Algorithmique & Complexité Complexité | Quelques transformations de base | Transformations logarithmiques
Transformations logarithmiques
Transformations logarithmiques
La forme générale de la transformation logarithmique montrée sur la Fig.
2.2 est :
s = c log(1 + r) (1)
où c est une constante, et on suppose que r ≥ 0.
S. LYAQINI | c b n a 12 / 63
Algorithmique & Complexité Complexité | Quelques transformations de base | Transformations logarithmiques
Transformations logarithmiques
Transformations logarithmiques
L’effet de cette dominance est illustré par la petite surface non noire de
l’image de la Fig à gauche. Si on applique d’abord l’Eq1 (avec c = 1 dans ce
cas) aux valeurs du spectre, alors l’intervalle du résultat devient [0,6.2]. La Fig.
à droite montre le résultat de l’échelonnement et l’affichage du nouveau
spectre avec 8-bits.
S. LYAQINI | c b n a 14 / 63
Algorithmique & Complexité Complexité | Quelques transformations de base | Transformations logarithmiques
Transformations logarithmiques
L’effet de cette dominance est illustré par la petite surface non noire de
l’image de la Fig à gauche. Si on applique d’abord l’Eq1 (avec c = 1 dans ce
cas) aux valeurs du spectre, alors l’intervalle du résultat devient [0,6.2]. La Fig.
à droite montre le résultat de l’échelonnement et l’affichage du nouveau
spectre avec 8-bits.
Noter la richesse des détails dans cette image par rapport à l’affichage
direct du spectre.
S. LYAQINI | c b n a 14 / 63
exponentielles
Transformations exponentielles
Transformations exponentielles
Les transformations exponentielles ont la forme de base :
s = crγ (2)
où c et γ sont deux constantes positives.
S. LYAQINI | c b n a 15 / 63
exponentielles
Noter que les courbes générées avec des valeurs de γ > 1 ont
exactement l’effet inverse de celles générées avec des valeurs de γ < 1.
Noter aussi que l’Eq. 2 se réduit à la transformation identique si
c = γ = 1.
S. LYAQINI | c b n a 17 / 63
exponentielles
S. LYAQINI | c b n a 18 / 63
exponentielles
S. LYAQINI | c b n a 19 / 63
exponentielles
S. LYAQINI | c b n a 20 / 63
Transformation simples
7
Transformation simples
8
Transformation simples
11
Transformation linéaire
rehaussement du contraste
12
Algorithmique & Complexité Complexité | Quelques transformations de base | Fonctions de transformation linéaires par morceaux
S. LYAQINI | c b n a 21 / 63
Amélioration du contraste
Amélioration du contraste
Une des applications les plus simples des fonctions linéaires par morceaux est
l’amélioration du contraste. Les images à faible contraste peuvent résulter de
plusieurs facteurs tel que la mauvaise luminosité, l’insuffisance dans la plage
de dynamique des capteurs d’acquisition, ou le mauvais réglage de la lentille
lors de l’acquisition de l’image. L’idée derrière l’amélioration du contraste est
d’augmenter la plage de la dynamique des niveaux de gris de l’image traitée.
S. LYAQINI | c b n a 22 / 63
Amélioration du contraste
S. LYAQINI | c b n a 24 / 63
Transformation linéaire par morceaux
13
Transformation linéaire par morceaux
Méthode simple
Pour x=1 à N
Pour y=1 à M
g(x,y) = 255*(f(x,y)-min)/(max-min);
Remarque: Pour accélérer (et simplifier) les calculs, on peut utiliser une Look-up table
(LUT)
14
Transformation linéaire par morceaux
15
Transformation linéaire par morceaux
Image originale
17
Algorithmique & Complexité Complexité | Traitement des histogrammes
Contents
1 Introduction
S. LYAQINI | c b n a 25 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes
h (rk ) = nk ,
S. LYAQINI | c b n a 26 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes
S. LYAQINI | c b n a 27 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes
S. LYAQINI | c b n a 28 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes
S. LYAQINI | c b n a 29 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes
S. LYAQINI | c b n a 30 / 63
Transformation linéaire par morceaux
13
Transformation linéaire par morceaux
Méthode simple
Pour x=1 à N
Pour y=1 à M
g(x,y) = 255*(f(x,y)-min)/(max-min);
Remarque: Pour accélérer (et simplifier) les calculs, on peut utiliser une Look-up table
(LUT)
14
Transformation linéaire par morceaux
15
Transformation linéaire par morceaux
Image originale
17
Algorithmique & Complexité Complexité | Traitement des histogrammes
S. LYAQINI | c b n a 31 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes
S. LYAQINI | c b n a 32 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes
S. LYAQINI | c b n a 33 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Égalisation d’histogramme
Égalisation d’histogramme
Objectif :
Harmoniser la répartition des niveaux de luminosité de l’image, de telle
manière à tendre vers un même nombre de pixel pour chacun des niveaux
de gris.
S. LYAQINI | c b n a 34 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Égalisation d’histogramme | Cas continu
Cas continu
S. LYAQINI | c b n a 35 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Égalisation d’histogramme | Cas continu
Cas continu
dr
ps (s) = pr (r)
ds
S. LYAQINI | c b n a 35 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Égalisation d’histogramme | Cas continu
Z r
ds dT (r) d
= = (L − 1) pr (w)dw
dr dr dr 0
= (L − 1)pr (r)
En remplaçant ce résultat pour dr/ds dans l’Eq. (2.8), on aura
dr 1
ps (s) = pr (r) = pr (r)
ds (L − 1)pr (r)
1
= 0≤s≤L−1
(L − 1)
donc
1
ps (s) = 0≤s≤L−1 (4)
(L − 1)
L’Eq. 4 montre que la fonction ps (s) résultante est toujours uniforme,
indépendamment de la forme de la fonction de pr (r). La Fig. ?? illustre ce
concept.
S. LYAQINI | c b n a 36 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Égalisation d’histogramme | Cas continu
S. LYAQINI | c b n a 37 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Égalisation d’histogramme | Cas discret
Cas discret
Cas discret
Soit une image de taille M × N . Pour une intensité r k , la probabilité
d’occurrence est :
nk
p (rk ) = , k = 0, 1, . . . , L − 1.
M ×N
où nk est le nombre d’occurrence de r k dans l’image. La transformation
permettant d’égaliser l’histogramme de l’image est :
k
X
sk = T (rk ) = (L − 1) p (rj ) , k = 0, 1, . . . , L − 1
j=0
S. LYAQINI | c b n a 38 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Égalisation d’histogramme | Cas discret
Exemple
S. LYAQINI | c b n a 39 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Égalisation d’histogramme | Cas discret
Exemple
S. LYAQINI | c b n a 40 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Égalisation d’histogramme | Cas discret
S. LYAQINI | c b n a 41 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Égalisation d’histogramme | Cas discret
Exemple
S. LYAQINI | c b n a 42 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Égalisation d’histogramme | Cas discret
Exemple
S. LYAQINI | c b n a 43 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
Spécification d’histogrammes
Spécification d’histogrammes
Il est parfois utile de spécifier la forme de l’histogramme vers lequel nous souhaitons
transformer l’image. Cette méthode est appelée spécification d’histogramme. Soient deux
variables aléatoires continues r et z désignent les niveaux de gris des images d’entrée et de
sortie, respectivement, et soient pr (r) et pz (z) leurs fonctions de densité.
S. LYAQINI | c b n a 45 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
Exemple
Soit l’image de l’exemple précédent dont l’histogramme est montré à la Fig. 2.12(a). On veut
transformer cet histogramme afin qu’il ait les valeurs spécifiées dans la deuxième colonne du
Tab. 2.2. La Fig. 2.12(b) montre un l’allure de cet histogramme.
S. LYAQINI | c b n a 46 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
Exemple
zk pz (zq )
z0 = 0 0.00
z1 = 1 0.00
z2 = 2 0.00
z3 = 3 0.15
z4 = 4 0.20
z5 = 5 0.30
z6 = 6 0.20
z7 = 7 0.15
TABLE 2.2 : Les histogrammes spécifié et original.
S. LYAQINI | c b n a 47 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
Exemple
La première étape de la procédure consiste à obtenir les valeurs de l’histogramme égalisé (voir
l’exemple précédent) :
s0 = 1 s1 = 3 s2 = 5 s3 = 6
s4 = 6 s5 = 7 s6 = 7 s7 = 7
Ensuite, nous calculons toutes les valeurs de la fonction G en utilisant l’Eq. 5
0
X
G (z0 ) = 7 pz (zj ) = 0.00 −→ 0
j=0
de même
1
X
G (z1 ) = 7 pz (zj ) = 7 [p (z0 ) + p (z1 )] = 0.00 −→ 0
j=0
et
S. LYAQINI | c b n a 48 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
Exemple
S. LYAQINI | c b n a 49 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
zk pz (zq ) pz (zk )
z0 = 0 0.00 0.00
z1 = 1 0.00 0.00
z2 = 2 0.00 0.00
z3 = 3 0.15 0.19
z4 = 4 0.20 0.25
z5 = 5 0.30 0.21
z6 = 6 0.20 0.24
z7 = 7 0.15 0.11
S. LYAQINI | c b n a 50 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
Exercice
Exercice
Lire une image, construire son histogramme, trouver le min et le max puis
effectuer un étirement d’histogramme et sauver la nouvelle image.
Visualiser l’histogramme à l’aide de display ou imagej. Evaluer
qualitativement le résultat, puis quantitativement en réalisant la mesure du
contraste. ?
S. LYAQINI | c b n a 51 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 52 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 53 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 54 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 55 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 56 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 57 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 58 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 59 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 60 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 61 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 62 / 63
Algorithmique & Complexité Complexité | Traitement des histogrammes | Spécification d’histogrammes
S. LYAQINI | c b n a 63 / 63