CHAP 2 :
PRÉTRAITEMENTS -
FILTRAGE
HISTOGRAMME
REHAUSSEMENT
BRUIT
FILTRES
PRÉTRAITEMENTS : OBJECTIFS
But : préparer l’image aux traitements futurs
Améliorer la qualité de l’image
• Rehausser le contraste
• Réduire le bruit
• Atténuer ou supprimer les dégradations
Origines des dégradations :
• Au moment de l’acquisition
• Liées à la transmission
• Lors du changement de format ou lors du stockage
• Usure de l’image originale (réelle)
=> avoir une image restaurée fidèle à la scène d’origine.
Prétraitements / Filtrage
2
Meriem ZAOUI
SOURCES DES DÉGRADATIONS
Contexte d’acquisition :
• Sur ou sous illumination
• Perturbations des capteurs (mouvement, effets atmosphériques,
etc.)
Echantillonnage / Quantification
Nature de la scène :
• Imageries satellitaires (ex :nuage)
• Imageries médicales
Usure du temps (ex : pages d’un livre ancien)
Prétraitements / Filtrage
3
Meriem ZAOUI
HISTOGRAMME
Histogramme = L'histogramme représente la répartition
des pixels en fonction de leur niveau de gris.
L’histogramme d’une image est la fonction qui associe à
chaque valeur d’intensité le nombre de pixels dans
l’image ayant cette valeur.
Prétraitements / Filtrage
4
Meriem ZAOUI
HISTOGRAMME
Dynamique d’une image : D = [valmin; valmax ]
Prétraitements / Filtrage
5
Meriem ZAOUI
HISTOGRAMME (EXEMPLE)
Prétraitements / Filtrage
6
Meriem ZAOUI
HISTOGRAMME (EXEMPLE)
Prétraitements / Filtrage
7
Meriem ZAOUI
HISTOGRAMME (EXEMPLE)
Prétraitements / Filtrage
8
Meriem ZAOUI
HISTOGRAMME : QUE DIT-IL?
Quel information sur l’image?
Prétraitements / Filtrage
9
Meriem ZAOUI
HISTOGRAMME : QUE FAIRE?
10
Prétraitements / Filtrage
Meriem ZAOUI
TRAITEMENTS À BASE
D’HISTOGRAMME
Traitement statistique => traitement global mais perte
d’information locale => appliquer aux niveaux de gris de l'image
une modification indépendante de leurs positions dans cette
image.
Différents traitements d'analyse effectués uniquement à partir de
l'histogramme.
Exemples :
• Binarisation
• Réduire à une image binaire (noir et blanc)
• Normalisation
• Exploiter toute la dynamique de codage.
• Egalisation
• Equilibrer la dynamique de codage et augmenter le contraste.
• Segmentation
• Segmenter l'image en regroupant les pixels selon leurs valeurs.
11
Prétraitements / Filtrage
Meriem ZAOUI
LUT (LOOK UP TABLE)
1. Transformation par une LUT : table contenant une
correspondance des valeurs Im[x,y] avant et après
transformation.
0 1 2 ….. …… 255
Ex : 128 128 76 45
Im[x,y] LUT [Im[x,y]]
12
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : BINARISATION
2. Binarisation selon un seuil S, seuillage
• Si Im[i,j]< S alors Im[i,j] 0 sinon Im[i,j] 1
=> réduction importante de la quantité d’information
Possibilité d’avoir 2 seuils (ou plus).
Problématique de la détermination d’un seuil utile.
LUT
• Rq : Un seuil global pour l’image n’est pas toujours bon => découper
l’image par blocs et calculer un seuil global pour chaque bloc.
13
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : ETALEMENT OU
ETIREMENT
3. Expansion ou extension linéaire de la dynamique= Etalement
Etendre la dynamique de l’image => augmenter le contraste.
• => a ≤ n ≤ b 0 ≤ n’ ≤ 255 , dynamique maximale
14
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : ETALEMENT
Exemple d’étalement :
15
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : ETALEMENT
Principe : un histogramme « idéal » présenterait une distribution
uniforme des niveaux de gris
Appliquer une transformation sur chaque pixel de l'image =>
dilatation artificielle mais linéaire de l'échelle de gris utilisée par
l'image.
La transformation T est définie selon la dynamique Vmin, Vmax.
16
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : ETALEMENT
Pour une dynamique maximale :
• => Vmin=0 et Vmax=255
On a :
LUT :
17
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : ETALEMENT / IMPLÉMENTATION
18
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : ETALEMENT
19
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : ETALEMENT
20
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : EGALISATION
Egalisation => augmentation du contraste.
Egalisation = Etirement + répartition uniforme des niveaux de
gris.
Après transformation, l’histogramme devient constant, chaque
niveau de gris est représenté dans l’image par un nombre
constant de pixels.
On parle aussi d’histogramme « plat ».
21
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : EGALISATION
Rendre le plus plat possible, l’histogramme des niveaux de gris
de l’image
Augmenter la dynamique des niveaux faibles sans en perdre
sensiblement pour les niveaux élevés.
=> Permet de renforcer le contraste sur des détails qui sont
masqués par des variations d’intensité.
=> population uniforme pour tous les niveaux de gris
(équipopulation).
Transformation T construite à partir de l'histogramme cumulé de
l'image de départ.
22
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : EGALISATION
23
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : EGALISATION (EX ALGORITHME)
/* Initialisation de l'histogramme */
for (i=0; i<256; i++) H[i] = 0 ;
/* Calcul de l'histogramme */
for (i=0; i<M; i++) for (j=0; j<N; j++) H[Im[i][j]] ++
/* Calcul de l'histogramme normalisé */
for (i=0; i<256; i++) Hr[i] = H[i] / (M*N) ;
/* Calcul de l'histogramme cumulé */
Somme = 0 ;
for (k=0; k<255; k++) { Somme += Hr[k] ; HC[k] = Somme ; }
/* Egalisation */
for (i=0; i<M; i++)
for (j=0; j<N; j++) {
Niveau_Initial = Im[i][j] ;
ImEg[i][j] = 255 * HC[NiveauInitial] ;
}
24
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : EGALISATION
25
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : EGALISATION
26
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : EGALISATION
27
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : EGALISATION
28
Prétraitements / Filtrage
Meriem ZAOUI
HISTOGRAMME : EGALISATION
29
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE (1/8)
f
Image originelle
Image transformée
Transformer ces images pour : améliorer leur visualisation pour une
interprétation manuelle , mettre en évidence des détails , des structures
ou bien réaliser un prétraitement pour faciliter l’application d’un algorithme
de traitement ultérieur.
30
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE (2/8)
Transformations ponctuelles
En chaque point on applique une formule de modification du
niveau de gris (ou de la couleur) indépendamment de la
localisation géométrique de ce pixel
J=f(i) i ancien niveau de gris, j nouveau niveau de gris
=> on a donc une table de transcodage appelée LUT (Look Up Table)
Transformations locales
Le nouveau niveau de gris en un point est fonction de l’ancien
niveau de gris et de la localisation du pixel
J=f(i,x,y) , J(x,y) peut être plus simplement une fonction des niveaux de
gris des pixels voisins de (x,y)
Transformations globales
On considère alors l’image comme un nuage de points dans un
espace donné et on réalise un changement de base (ex.
transformée de Fourier...)
31
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE (3/8)
Transformations ponctuelles
S’appliquent pixel par pixel et ne font intervenir que la valeur du niveau de
gris => pour tout niveau de gris i on obtient un nouveau niveau de gris j=f(i).
Cette fonction est définie sur l’ensemble des valeurs de niveaux de gris
possibles => représenter cette fonction par une tabulation appelée LUT
(Look Up Table).
0 f(0)
1
f(1)
2
f(2)
f(254)
254
255 f(255)
32
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE (4/8)
Transformations point à point (ponctuelles)
Traitements sur l’histogramme : étalement, égalisation, etc.
Opérations algébriques entre images : sommation, soustraction,
etc.
33
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE (5/8)
Transformations ponctuelles : histogramme
Exemple : Inversion d’image
34
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE (6/8)
Transformations ponctuelles : arithmétique d’images
L’arithmétique d’images : appliquer les opérations arithmétiques
standard et les opérations logiques à une ou plusieurs images.
• Opérations arithmétiques : addition, soustraction, multiplication, etc.
• Opérations logiques : Et, Ou, etc
Les images opérandes doivent être de même taille, de plus une des
images opérandes peut être une image constante.
Exemples d’applications :
• des images de scènes à des dates différentes :
suppression du bruit en ajoutant des images temporelles successives,
ou bien détection du mouvement ou d’un défaut en soustrayant deux
images successives dans le temps.
R(x,y)=I1(x,y)+I2(x,y) R(x,y)=I1(x,y)-I2(x,y)
35
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE (7/8)
L’addition pixel à pixel de deux images F et G est définie par :
A(x, y) = Min(F(x, y) + G(x, y); 255)
L’addition d’images peut permettre :
• de diminuer le bruit d’une vue dans une série d’images
• d’augmenter la luminance en additionnant une image avec elle-
même.
La soustraction pixel à pixel de deux images F et G est définie
par :
• S(x, y) = Max(F(x, y) − G(x, y); 0)
La soustraction d’images peut permettre :
• la détection de défauts
• la détection de mouvements
36
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE (8/8)
Exemple : Soustraction d’images
37
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE
(EXEMPLE)
38
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE
Traitement bas niveau d’images : Histogramme +
Arithmétique d’image
• Transformations ponctuelles
• Transformations locales
Filtrage
• Transformation globales
39
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE
Élimination de certaines composantes fréquentielles
Application d'une transformation mathématique qui
modifie la valeurs des pixels.
• Transformation linéaire filtrage linéaire.
linéaire
• Transformation non linéaire filtrage non linéaire
• Prise en compte des valeurs de gris au voisinage de chaque
pixel transformé fonction de convolution (linéaire).
(linéaire)
40
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE
Dans une image les détails se répètent fréquemment sur un
petit nombre de pixels, on dit qu’ils ont une fréquence élevée
• => ex : les bords et les contours dans une image.
Les fréquences basses correspondent à des variations qui se
répètent peu car, diluées sur de grandes parties de l’image
• => ex : variations de couleurs dans un fond.
Les filtres agissent sélectivement sur ces fréquences en vue
de les amplifier ou de les réduire
41
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE
Deux types de filtre.
Filtre Passe-bas
• Un filtre passe-bas accentue les éléments qui ont une basse
fréquence spatiale tout en atténuant les éléments à haute
fréquence spatiale.
• => une image qui apparaît plus homogène (un peu floue)
• => adoucit les détails
Filtre Passe-haut
• Ce filtre rehausse les détails de l’image qui varient rapidement en
fonction de la distance.
• Les détails montrent des variations rapides de fréquences sur de
courtes distance de l’image.
• => accentue les détails
42
Prétraitements / Filtrage
Meriem ZAOUI
FILTRE / VOISINAGE
Voisinage / connexité
• V(P)= { P’ connectés à P }
43
Prétraitements / Filtrage
Meriem ZAOUI
FILTRE / VOISINAGE
Voisinage
• de 3x3 (rayon 1) si on considère les pixels rouges,
• de 5x5 (rayon 2) si on considère aussi les pixels oranges,
• de 7x7 (rayon 3) si on considère également les pixels jaunes.
Un filtre sera caractérisé par :
• la forme du voisinage (généralement un carré centré sur le pixel)
• la taille (ou rayon) du voisinage,
• l'algorithme de calcul de la valeur finale
44
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : APPLICATIONS
Transformation locale : filtrage
• Passe-bas :
• réduction du bruit,
• Préfiltrage,
• Passe-haut :
• Extraction de contours,
• Rehaussement du contraste,
• Extraction de points d’intérêts
• Détection de ligne et de point,
45
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE
Filtres Passe-bas (éliminer le bruit)
• Moyenne
• Fenêtres : Gaussienne, Polynomiale…
• Min-Max
• Médian
• Nagao
• …
Filtres Passe-haut
46
Prétraitements / Filtrage
Meriem ZAOUI
FILTRE LINÉAIRE => CONVOLUTION
En pratique, la convolution numérique d'une image se fera
par une sommation de multiplications
Un filtre de convolution (noyau ou kernel) est une matrice
généralement (mais pas toujours) de taille impaire et
symétrique
• 3x3, 5x5, 7x7, …
47
Prétraitements / Filtrage
Meriem ZAOUI
FILTRE LINÉAIRE => CONVOLUTION
Filtre = Noyau de
convolution ou Kernel
48
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : CONVOLUTION (UTILISATION
PRATIQUE)
49
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : CONVOLUTION (UTILISATION
PRATIQUE)
Pixel du bord de l'image : certains points du voisinage (du
noyau) sont en dehors de l'image d'origine. =>Choisir une
stratégie pour gérer ces pixels extérieurs.
• Mise à zéro : Si un pixel du voisinage est en dehors de l'image
d'origine, sa valeur est considérée comme nulle.
• Continuité : Si un pixel du voisinage est en dehors de l'image
d'origine, sa valeur est celle du pixel le plus proche qui est dans
l'image d'origine.
• Miroir : Si un pixel du voisinage est en dehors de l'image d'origine,
sa valeur est celle du pixel symétrique par rapport au bord de
l'image.
50
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : MOYENNEUR (PASSE-BAS)
Le filtrage anti-bruit (opérateurs de lissage)
Défauts :
• Certaines fréquences détruites
• Images dégradée
• Contours altérés
51
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : GAUSSIEN (PASSE-BAS)
Distribution Gaussienne
• => Lissage par moyennage pondéré de l’image en fonction de
la distance du pixel voisin
• Le noyau gaussien est défini par un ensemble de coefficients
qui sont des échantillons de la gaussienne 2D
52
Prétraitements / Filtrage
Meriem ZAOUI
AUTRES FILTRES PASSE-BAS
Filtrage Binômial
Filtrage Pyramidal
Filtrage Conique
53
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE: REMARQUES
Rq : Propriétés d’un filtre linéaire
• Invariant à la position : le résultat dépend du voisinage et non
de la position dans l’image.
• Échelle et superposition : le filtrage de l’addition de deux
images est équivalent à la somme des deux images filtrées.
54
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE KNN (NON LINÉAIRE)
Filtrer => Remplacer le pixel central (Pc) par la moyenne
d'une sélection des pixels voisins
Filtres KNN => sélectionner les K voisins dont les valeurs
sont les plus proches de la valeur du Pc et remplacer la
valeur du Pc par la valeur de leur moyenne.
55
Prétraitements / Filtrage
Meriem ZAOUI
FILTRE SNN (NON LINÉAIRE)
Filtres SNN => pour chaque paire de pixels symétriques
par rapport à Pc, on sélectionne celui dont la valeur est la
plus proche de celle de Pc puis on fait leur moyenne.
56
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE MIN-MAX (NON LINÉAIRE)
Filtre Min-Max => Remplacer la valeur du pixel (x,y) par le
minimum ou le maximum sur la fenêtre centrée en ce point
selon la proximité de ces deux valeurs à la valeur centrale.
• Si le pixel central Pc a une valeur supérieure à Max, on affecte
Max
• Si le pixel central Pc a une valeur inférieure à Min, on affecte
Min
• Si le pixel central Pc est compris entre Min et Max, on garde la
valeur de Pc
57
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE MEDIAN (NON LINÉAIRE)
Filtre Median :
• Remplacer la valeur du pixel central par la valeur médiane de
la répartition (luminances triées dans l'ordre croissant) des
niveaux de gris des pixels situés à l'intérieur de cette fenêtre
58
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : EXEMPLES
59
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE PASSE-HAUT
Filtre 3*3
Filtre 5 * 5
60
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : PASSE-BAS/PASSE-HAUT
Opérations sur les filtres
Exemple :
61
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE
Quelles utilités ou
applications ?
Réduction de bruit.
Détection de points ou contours
62
Prétraitements / Filtrage
Meriem ZAOUI
BRUIT : DÉFINITION
Bruit = Altération de l’image => toute information parasite
Origine : Acquisition, Transmission, Stockage.
63
Prétraitements / Filtrage
Meriem ZAOUI
BRUIT (DISTRIBUTION IMPULSIONNELLE)
Un bruit "poivre et sel"
sel d'ordre n est obtenu en ajoutant n pixels
blancs et n pixels noirs aléatoirement dans une image.
• On le caractérise souvent par le pourcentage de pixels remplacés.
• Exemple : Poussière sur objectif, perte de données, petits objets
64
Prétraitements / Filtrage
Meriem ZAOUI
BRUIT (DISTRIBUTION ADDITIVE)
Loi de distribution Gaussienne de variance σ et moyenne μ :
• Le bruit Gaussien (bruit additif) est obtenu en ajoutant à chaque
pixel une valeur aléatoire suivant une loi de probabilité
Gaussienne.
• Le paramètre sigma s'appelle la déviation standard, et détermine la
largeur de la cloche Gaussienne.
65
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : ELIMINER LE BRUIT
Filtres linéaires : moyenneur, gaussien (σ <1) bruit gaussien
• Pour le filtrage Gaussien, le degré de lissage est proportionnel à la
valeur de σ.
• Ressemblance entre convoluer plusieurs fois par un masque petit
et celui de convoluer une seule fois par un masque de grande
taille.
• Détruit les contours
Filtrage non-linéaire : médian bruit impulsionnel
• NB : Seuls des filtres non-linéaires peuvent permettre de préserver
des contours en s'adaptant au contenu des images
66
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : DÉTECTER DE POINTS
Détection par filtrage : convolution avec des filtres passe-haut.
Exemple :
• grande valeur positive => point blanc sur fond noir.
• grande valeur négative => point noir sur fond blanc.
67
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : DÉTECTER DE LIGNES
Détection des contours d’une ligne :
2 -1 -1 -1 2 -1 -1 -1 2 -1 -1 -1
-1 2 -1 -1 2 -1 -1 2 -1 2 2 2
-1 -1 2 -1 2 -1 2 -1 -1 -1 -1 -1
68
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : DÉTECTER DES CONTOURS
Contours = lieux de variations significatives de l'information
niveau de gris
• objet = région homogène
• image = mosaïque de régions homogènes séparées par des zones
de transitions
=> évaluation de la variations en chaque pixel.
• Gradient : localement max
• Laplacien : passage par zéro.
69
Prétraitements / Filtrage
Meriem ZAOUI
DÉTECTION DE CONTOUR
70
Prétraitements / Filtrage
Meriem ZAOUI
DÉTECTION DE CONTOUR
Filtre gradient
• Il est parfois intéressant de mettre en avant des détails qui
changent selon une direction donnée dans ce but on utilise
des filtres de type gradient, qui sont en fait des dérivées
partielles le long d’une direction particulière, en général l’un
des deux axes cartésiens X ou Y de l’image.
71
Prétraitements / Filtrage
Meriem ZAOUI
DÉTECTION DE CONTOUR : Gradient
Masque
Gradient
Horizontale/
Verticale
72
Prétraitements / Filtrage
Meriem ZAOUI
DÉTECTION DE CONTOUR : Roberts
Masque de
ROBERTS
Diagonales
73
Prétraitements / Filtrage
Meriem ZAOUI
DÉTECTION DE CONTOUR : Prewitt -
Sobel
Le calcul de gradient est mené par l'intermédiaire de deux
masques
c=1 => opérateurs de Prewitt,
c=2 => opérateurs de Sobel.
Ces masques ont l'avantage de produire deux effets.
o Outre le calcul du gradient dans une direction
o lissage dans la direction orthogonale. Ce lissage rend
ces masques un peu moins sensibles au bruit que les
précédents.
74
Prétraitements / Filtrage
Meriem ZAOUI
DÉTECTION DE CONTOUR
Masque de
SOBEL
75
Prétraitements / Filtrage
Meriem ZAOUI
DÉTECTION DE CONTOUR
Filtre Laplacien :
Détection des points de changements de fréquences.
Exemple :
76
Prétraitements / Filtrage
Meriem ZAOUI
DÉTECTION DE CONTOUR
Autres filtres :
FREEMAN
KIRSCH
ROBINSON
CANNY
Etc.
Ces filtres, qui portent tous le nom de leurs inventeurs, sont tous
conçus dans le même but : détecter avec la plus grande précision les
contours
77
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : EXEMPLE DE TRAITEMENTS
On peut par exemple choisir d'appliquer d'abord un filtre
Gaussien pour réduire le bruit, avant d'appliquer un filtre
Laplacien pour détecter les points autour desquels les
variations de luminosité sont importantes.
78
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION D’UNE IMAGE
transformations ponctuelles des pixels d’une image
• Lire la valeur d’un pixel la remplacer par une autre
transformations locales
• Lire la valeur de quelques pixels voisins calculer une
nouvelle valeur pour un pixel
transformations globales
• Lire la valeur de tous les pixels de l’image calculer une
nouvelle valeur pour un seul pixel
79
Prétraitements / Filtrage
Meriem ZAOUI