Chapitre 2 - Cours VA-M2 - ESE (2018-2019)
Chapitre 2 - Cours VA-M2 - ESE (2018-2019)
Chapitre 2 - Cours VA-M2 - ESE (2018-2019)
LE PRETRAITEMENT
DES IMAGES NUMERIQUES
2.1 Introduction
2.2 Les traitements ponctuels sur images
2.3 Les opérations géométriques sur images
2.4 Les opérations arithmétiques et logiques sur images
2.5 Le débruitage d’images par filtrage spatial 2D
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 12
2.1 INTRODUCTION
Comme déjà mentionné lors de la présentation de la composition fonctionnelle d’un
système de V. A., la première phase consiste à préparer l’image brute avant de la présenter à la
phase de segmentation.
L’image acquise par un capteur est généralement bruitée, male cadrée, et mal éclairée. Son
prétraitement consiste alors à :
- Régler sa luminance et son contraste, recadrer sa dynamique des niveaux des gris ou de
couleur, …
- Pivoter, Zoomer, Rogner, soustraire le fond de l’image, …
- Filtrer le bruit, accentuer les contours, …
Dans ce qui suit, nous allons développer chacune des opérations de prétraitement que l’image
doit subir :
Etant donnée une image initiale I(i,j). L’image finale traitée T(i,j) est la transformée de
I(i,j) par application de la fonction f( ) :
T(i,j) = f [I(i,j)]
N.B.: Lors de la programmation, il faut veiller à ce que la dynamique « d » maximale ne soit pas
dépassée. C'est-à-dire, si l’on a une image avec une dynamique de 256 niveaux de gris (8 bits),
alors prévoir les tests suivants:
- Si ( T(i,j) > 255 ) alors forcer T(i,j) = 255 ;
- Si ( T(i,j) < 0 ) alors forcer T(i,j) = 0 ;
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 13
2500
2000
1500
1000
500
2500
2000
1500
1000
500
Script Matlab:
I=imread('Oran.png'));
J=255-I;
figure,
subplot 121, imshow(I),title ('Image originale - positive');
subplot 122, imshow(J),title ('Image négative');
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 14
b. Amélioration de contraste
T(i,j) = a I(i,j)
I=imread('photo.tif'));
J=1.5 * I;
figure,
subplot 121, imshow(I),title ('Image originale');
subplot 122, imshow(J),title ('Image traitée – augmentation de contraste');
255
255
c. Amélioration de luminance
I=imread('rice.png');
J=I+50;
figure,
subplot 121, imshow(I),title ('Image originale');
subplot 122, imshow(J),title ('Image traitée – augmentation de luminance');
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 15
255
255
( ) ( ) (( ) )
Où :
- I(i,j): niveau de gris initial ;
- T(i,j): niveau de gris final ;
- Nmin: Niveau de gris minimal (voir histogramme) ;
- Nmax: Niveau de gris maximal (voir histogramme) ;
- d: dynamique de l’image en bits ;
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 16
b. Egalisation d’histogramme :
L'égalisation d'histogramme est une transformation des niveaux de gris dont le principe
est d'équilibrer le mieux possible la distribution des pixels dans la dynamique (Idéalement, on
cherche à obtenir un histogramme plat).
( ) ( ) [ ( )]
Où :
- I(i,j): niveau de gris initial ;
- T(i,j): niveau de gris final ;
- Hc( ) : histogramme cumulé ;
- M x N: définition ou dimension de l’image en pixels ;
- d: dynamique de l’image en bits
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 17
N.B. : La fonction Matlab qui permet de seuiller une image est : im2bw( ).
Pour cela, l’image doit être au format double, et le seuil S une valeur réelle comprise entre 0 et 1.
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 18
i a a2 i
( ) = (a a22 ) ( )
j 2 j
a) Pour un changement de taille de l’image :
Prenons le cas pour un ‘Zoom’ de facteur 4, la valeur des coefficients de la matrice T sont :
a11=a22=2 et a12=a21=0.
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 19
I2 = imread('circuit.tif');
J2 = imrotate(I,-10);
figure, imshow(I2), figure, imshow(J2)
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 20
( ) ∑ ∑ ( ) ( )
( ) ( )
Où :
- S : image filtrée
- E : image source (bruitée)
- h : masque de taille (N x N)
Exemple pratique:
L’ancienne valeur du pixel central (= 25) sera remplacée par la nouvelle valeur =
S=(-1)x4 + (-0.5)x8 + (0)x45 + (-0.5)x7 + (0)x25 + (0.5)x54 + (0)x33 + (0.5)x54 + (0.5)x 65 = 75
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 21
𝑥2+𝑦2
𝐺(𝑥 𝑦) 𝑒 2𝜎2
𝜋𝜎
Pour une image numérisée, x et y sont les coordonnées entières des pixels.La construction du
noyau de convolution (filtre) gaussien consiste à calculer la valeur de cette fonction G(x,y)
autour du point x = 0 et y = 0.
Exemple de calcul :
Le filtre gaussien de dimension (3x3) est obtenu en remplaçant pour chaque cellule, les valeurs
de x et y correspondantes dans l’équation G(x,y) :
y
x = -1 x = -1 x= -1
y = -1 y=0 y = +1
x=0 x=0 x=0
y = -1 y=0 y = +1
x x= +1 x= +1 x= +1
y = -1 y=0 y = +1
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 22
Remarque :
Les 2 types de filtres linéaires présentés ci-dessus sont des filtres passe-bas, par conséquent ils :
- atténuent les détails de l’image (et donc le bruit additif)
- érodent les contours
- ajoutent du flou à l’image.
Dans la section suivante, nous allons étudier des filtres non linéaires qui permettront d’atténuer
le flou.
a) Le filtre Médian
Pour ce type de filtre, on ne réalise pas une convolution. Ce filtre attribue pour un pixel donné, la
valeur médiane (centrale) des niveaux de gris de son voisinage.
Exemple :
Calculons un filtrage médian de voisinage 3x3 sur l’image suivante :
La valeur initiale du pixel centrale (250) sera remplacée par la valeur médiane des 9 valeurs du
voisinage, c.à.d. la valeur : 25
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 23
P1 P2 P3
Q4 M P4
Q3 Q2 Q1
Exemple :
1. Recherche des paires de points et choix des pixels à retenir :
7 11 12
8 23 17
5 20 15
7 11 12
8 17 17
5 20 15
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL
Chapitre 2 : Le prétraitement des images numériques Page 24
Où le symbole désigne le produit tensoriel. On peut alors traiter séparément les lignes et les
colonnes de l’image.
C.à.d. :
⁄ ⁄ ⁄
⁄ ⁄ ⁄ [ ] [ ⁄ ⁄ ⁄ ]
[ ⁄ ⁄ ⁄ ]
[ ] [ ] [ ]
Support de cours - Vision Artificielle (Master ESE – Semestre 3 – 2018/2019) Pr. Abdelhamid LOUKIL