Académique Documents
Professionnel Documents
Culture Documents
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
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
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
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
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.
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
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
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)
33
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE (5/8)
34
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE (6/8)
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)
36
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION DE L’IMAGE (8/8)
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
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.
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.
44
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : APPLICATIONS
• 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-haut
46
Prétraitements / Filtrage
Meriem ZAOUI
FILTRE LINÉAIRE => CONVOLUTION
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)
50
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : MOYENNEUR (PASSE-BAS)
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
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
63
Prétraitements / Filtrage
Meriem ZAOUI
BRUIT (DISTRIBUTION IMPULSIONNELLE)
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
66
Prétraitements / Filtrage
Meriem ZAOUI
FILTRAGE : DÉTECTER DE POINTS
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
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
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
78
Prétraitements / Filtrage
Meriem ZAOUI
TRANSFORMATION D’UNE IMAGE
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