Vous êtes sur la page 1sur 12

TP : Techniques de Traitement d’Images ENSTAB

Département
Sciences et Technologies Avancées

Fascicule des Travaux Pratiques


Techniques de Traitement d’Images

2e année Ingénieur en Technologies Avancées, spécialités :


• Systèmes Energétiques et Technologies Propres (STEP)
• Systèmes Industriels et Compétitivité (SIC)
• Electronique Avancée et Nanotechnologie (EAN)

Enseignant

Lamia RZOUGA & Youssef ZOUHIR

Année Universitaire : 2020-2021

1
Lamia RZOUGA & Youssef ZOUHIR 2020-2021
TP : Techniques de Traitement d’Images ENSTAB

Travaux Pratiques : Techniques de Traitement d’Images

2e année Ingénieur en Technologies Avancées, Spécialités :


• Systèmes Energétiques et Technologies Propres (STEP)
• Systèmes Industriels et Compétitivité (SIC)
• Electronique Avancée et Nanotechnologie (EAN)

Sommaire :

TP0 : Vision et Traitement d’images : Initiation MATLAB

TP1 : Manipulation et transformation des images numériques

TP2 : Transformations d’images

TP3 : Histogramme et rehaussement d’images

TP4 : Restauration par Filtrage

Référence
o Les TP 3 et 4 sont rédigés en se basant sur le fascicule des travaux pratiques : Traitement
d’Images du Professeur Madame Nawres KHALIFA.

2
Lamia RZOUGA & Youssef ZOUHIR 2020-2021
TP : Techniques de Traitement d’Images ENSTAB

TP1 : Manipulation et transformation des


images numériques
I. Introduction
Le présent TP est une initiation à la manipulation, sous Matlab, des images numériques.
Des opérations, telles que le chargement et la sauvegarde d’une image, l’opération
d’échantillonnage et de quantification.

II. Lecture, visualisation et sauvegarde d’images


MATLAB est capable de lire et de décoder les fichiers images JPEG, TIFF, BMP, PNG,
HDF, PCX ou XWD. Une image, sous Matlab, est représentée sous forme d'une matrice.
Avant de traiter une image dans Matlab, il faut la lire et décoder son format afin de la
transformer en une matrice de valeurs. Pour réaliser des calculs sur l’image, il faut
convertir la matrice en valeurs entières ou doubles.
• Lire l'image lena. bmp et la stocker dans la variable Im1 avec la fonction
« imread ».
• Ouvrir une nouvelle fenêtre (figure).
• Afficher l'image avec « imshow », puis avec « imagesc» et mettre dans la
même figure « subplot » et commenter.
• Choisir une palette en niveau de gris « co1ormap('gray') ».
• Déterminer les dimensions de l’image «size».
• Convertir l’image en double « im2double » et « double », commenter.
L'accès à un élément particulier d'une image est indexé par le nom et la position de cet
élément. Par exemple, pour l'image Im1 ci-dessus, on peut récupérer les valeurs et les
modifier aisément. Le point (i,j) est appelé pixel , sa valeur Im1(i,j) réelle traduit le degré
de luminosité de l'image au point (i,j) : On l'appelle niveau de gris de l'image au point
(i,j) (i : numéro des ligne et j : numéro de colonne).
• Récupérer le niveau de gris du pixel (120,200).
• Récupérer une sous-matrice de dimensions 100*100 au milieu de l’image,
sauvegarder l’image récupérée dans la matrice Im2.
• Sauvegarder la matrice Im2 dans le fichier lenapart1.jpg, ensuite dans le fichier
lenapart2.bmp avec (imwrite).
• Recharger les deux images lenapart1.jpg et lenapart2.bmp dans Im3 et Im4.
• Afficher les matrices et comparer entre les formats.

3
Lamia RZOUGA & Youssef ZOUHIR 2020-2021
TP : Techniques de Traitement d’Images ENSTAB

III. Systèmes de représentation de couleurs et de types


d’images

Systèmes de représentation de couleurs :

L’espace RGB est l’espace vectoriel engendré par les trois composantes de couleurs (red,
green, blue). Une image en couleur naturelle est représentée par une matrice à trois
dimensions (ligne, colonne et composante couleur).
Afin d’extraire une composante C d’une matrice Im à 3D, C= Im( :, :,d) avec d= 1,2 ou
3. Pour afficher une seule composante mettre la composante C à sa position d dans une
nouvelle matrice et mettre les autres positions à zéros.
Im1( :, :,2)=C ;Im1( :, :,1)=0 ; etc…
L’espace HLS est engendré par la teinte, la luminance et la saturation.
L’espace CMY est engendré par la luminance Y et les composantes de chrominance
Cyan et magenta.
• Charger l’image clown.bmp et vérifier que c’est une image en couleur.
• Convertir l’image RGB en HLS et CMY (rgb2hsv, rgb2ycbcr).
• Afficher les trois images obtenues.
• Ecrire la fonction [C1, C2, C3]= extrait_comp(matriceimage) qui extrait les
trois composantes d’une image et les afficher séparément. La fonction doit générer
finalement une figure composée de quatre images (ex : pour le RGB : l’originale,
l’image en rouge, l’image en vert et l’image en bleue)
• Réexécuter la fonction pour l’image en HSV et CMY.

IV. Re-échantillonnage et quantification

Une image numérique est une image échantillonnée et quantifiée. L’échantillonnage est
le procédé de discrétisation spatiale d’une image consistant à associer à chaque pixel une
valeur unique. Lorsqu’une image est discrétisée et qu’on diminue le nombre de pixels, on
parle de sous-échantillonnage.
La quantification est la discrétisation tonale correspondant au nombre de valeurs
maximales que peut prendre un pixel. La quantification représente le choix du nombre de
bits pour coder l’image. Si la quantification est 8 bits, le pixel peut avoir 256 valeurs et
donc l’image est en niveau de gris, et pour 1 bit l’image devient binaire.

a) Re-échantillonnage

• Charger l'image lena.bmp.


• Ecrire une fonction Imse=sousechan(matriceimage) qui permet de créer une
version sous-échantillonnée par un facteur 2 de cette image. Pour cela, créer une
nouvelle image en ne prenant qu'un pixel sur deux dans l'image originale (Opération

4
Lamia RZOUGA & Youssef ZOUHIR 2020-2021
TP : Techniques de Traitement d’Images ENSTAB

à réaliser sur les lignes et les colonnes de l'image de départ).


• Créer la même fonction sans utiliser de boucles.
• Afficher l'image ainsi obtenue.
• Décriver les effets du sous-échantillonnage sur l'image.
• Refaite la même chose avec un facteur 4.

b) Quantification

On désire déterminer l'influence d'une quantification à pas variables.


• Charger l’image en niveau de gris lena.bmp.
• Changer le pas de quantification de l'image pour obtenir 128, 64, 32, 16, 8, 4 et
2 niveau de gris. Afficher l'image correspondante afin de déterminer le seuil minimal
de quantification à partir duquel certains faux contours apparaissent.
• Charger l'image couleur clown.bmp.
• Convertir l'image couleur en niveau de gris.
• Changer le pas de quantification de l'image pour obtenir 128, 64, 32, 16, 8, 4 et
2 niveau de gris.
• Afficher l'image correspondante afin de déterminer le seuil minimal de
quantification.
• Conclure.

5
Lamia RZOUGA & Youssef ZOUHIR 2020-2021
TP : Techniques de Traitement d’Images ENSTAB

TP2 : Transformations d’images


I.Introduction :
Le but de ce TP est de tester plusieurs transformations des images numériques ainsi que
des transformations appliquées à l’image.

II.Transformation ponctuelles:
Ce sont des transformations telles que la nouvelle valeur du pixel dépend uniquement de
son ancienne valeur. Parmi ces transformations, on trouve :

a) Opérations géométriques

• Lire l’image en niveau de gris lena.bmp.


• Appliquer sur cette image les opérations suivantes :
B : f(x)=255-x
C : symétrie par rapport horizontale
D : symétrie par rapport verticale
E : symétrie par rapport au centre
A B C D E

b) Opérations logiques

• Lire les images ‘cercle.bmp’, ‘rectangle.bmp’ et ‘triangle.bmp’.


• Appliquer les transformations binaires OU, AND et NOT citées dans le cours
en utilisant deux méthodes différentes.

6
Lamia RZOUGA & Youssef ZOUHIR 2020-2021
TP : Techniques de Traitement d’Images ENSTAB

c) Opérations géométriques

• Lire l’image en niveaux de gris seq1.bmp.


• Lire l’image contours.bmp.
• Afficher les deux images sur la même figure.
• Superposer les contours sur l’image d’origine pour délimiter les différentes
régions de l’image.

III. Transformation spectrales: Transformée de Fourier

Un exemple des transformations spectrales est la transformée de Fourrier

a) Transformée de Fourier
La Transformée de Fourier permet de passer d’une représentation temporelle à une
représentation fréquentielle
• Charger l'image carre1.png et carre2.png.
• Appliquer la Transformée de Fourier « fft2 ».
• Afficher l’image d’amplitude de cette image avec « imagesc » et « mesh »
(figure1).
• Refaire le même traitement pour les images carre1dec1.png, carre1dec2.png,
carre1dec3.png et carre1r45.png .
• Refaire le même traitement pour les images sinus1.png (figure2), sinus1r45.png
(figure3) et sinus1r90.png.
• Conclure sur les spectres d’amplitude récupérés.

7
Lamia RZOUGA & Youssef ZOUHIR 2020-2021
TP : Techniques de Traitement d’Images ENSTAB

im1 im2

spim1 spim2

20

50 40

60

100 80

100

150 120

140

200 160

180

250 200
50 100 150 200 250 50 100 150 200

Figure1 : Transformée de Fourier d’un carré

im1 im1r45 im1r90

spim1 spim1r45 spim1r90

20 20
20

40 40

60 40 60

80 80
60

100 100

120 80 120

140 140
100

160 160

180 120 180

200 200
50 100 150 200 20 40 60 80 100 120 50 100 150 200

Figure2 : Transformée de Fourier d’un sinus

8
Lamia RZOUGA & Youssef ZOUHIR 2020-2021
TP : Techniques de Traitement d’Images ENSTAB

TP3 : Histogramme et rehaussement d’image

I. Introduction :
Ce TP permet de mettre en relief l’utilité des histogrammes dans l’analyse des images et
son importance dans les techniques de rehaussement d’image.

II. Calcul et visualisation d’histogramme :

Un histogramme représente le nombre de pixel par niveau gris. La dynamique d’une


image représente l’intervalle de valeur de niveaux de gris.

a) Visualisation de l'histogramme des niveaux de gris

• Charger les images suivantes: tire.tif, pout.tif et moon.tif.


• Représenter l'histogramme des niveaux de gris de ces images (imhist).
• Comment interprétez-vous ces histogrammes?

III. Techniques de rehaussement


a) Recadrage de la dynamique

Le recadrage de la dynamique consiste à appliquer soit un étirement (élargir l’intervalle),


soit une compression (réduire l’intervalle) de la dynamique de l’image. On donne la
formule avec f(x,y) pixel de l’image originale .
f ( x, y)  min( f ( x, y))
g ( x, y)  * (v max  v min)  v min
max( f ( x, y))  min( f ( x, y))

• Lire et afficher l’image pout.tif.


• Représenter son histogramme sur la même figure.
• Appliquer la méthode de recadrage de la dynamique sur l’image (imadjust) avec
la formule. Régler des paramètres. Afficher l’histogramme obtenu. Commenter.

b) Egalisation de l’histogramme

• Lire et afficher l’image tire.tif.


• Afficher son histogramme sur la même figure.

9
Lamia RZOUGA & Youssef ZOUHIR 2020-2021
TP : Techniques de Traitement d’Images ENSTAB

• Egaliser son histgramme, puis afficher l’histogramme de l’image résultat.


c) Inversion des niveaux de gris (négatif)

• Lire et afficher l’image lena.bmp.


• Tracer son histogramme sur la même figure.
• Inverser la dynamique de l’image avec f(x)=255-x. Tracer l’histogramme sur la
même figure. Commenter.

d) Renforcement de contraste

• Lire et afficher l’image de la retine.bmp, puis afficher sur la même figure son
histogramme.
• Ecrire la fonction qui permet de rehausser la qualité de l’image.
Ib = binim(Image,seuil), puis afficher l’image et son histogramme.

10
Lamia RZOUGA & Youssef ZOUHIR 2020-2021
TP : Techniques de Traitement d’Images ENSTAB

TP4 : Restauration par Filtrage

I. Introduction :
Le but de ce TP consiste à analyser des images dégradées par différents types de bruits et
à mettre au point des méthodes de restauration par différentes techniques de filtrage.
L’étudiant aura la possibilité de comparer entre les filtres dans le domaine spatial et
fréquentiel.

II. Génération des bruits :

La première étape du TP consiste à générer, à partir d’une image, une image bruitée avec
trois types de bruit : bruits de type « sel et poivre », gaussien et de poisson (imnoise).
• Ecrire une fonction Imbr=Generbrim(Image) qui génère, à partir d’un fichier
image les trois images bruitées et les sauvegarder dans trois fichiers.
• Afficher dans la même figure les quatre images et commenter.

III. Techniques de restauration par filtrage

➢ Filtrage dans le domaine spatial


Dans le domaine spatial, le filtrage peut se faire soit par filtrage linéaire, moyenneur ou
gaussien, soit par filtrage non linéaire, filtres d’ordre, médian, et morphologiques.

a) Filtrage linéaire d’une image en niveaux de gris

• Lire et afficher l’image scanner.bmp.


• Déclarer h un noyau qui correspond à un filtre moyenneur de taille 3*3.
• Calculer le produit de convolution de l’image par ce filtre « conv2 ».
• Filtrer l’image avec un filtre moyenneur de taille 3*3, 5*5, puis 7*7, en utilisant
les fonctions de Matlab « fspecial » et « imfilter ».
• Comparer visuellement les résultats obtenus.
• Ecrire une fonction Matlab qui permet de calculer le PSNR et l’erreur quadratique.
• Appeler alors cette fonction pour calculer le PSNR de chaque image.
• Quelle est la meilleure image au sens de PSNR.
• Refaire le même travail avec le filtre gaussien. Varier à chaque fois la variance
(sigma).
 Ng2 
PSNR  10 log   avec Ng : Niveau de gris Maximal
 E 
 
1 2
𝐸 = 𝑁∗𝑀 ∑𝑁 𝑀
𝑖=1 ∑𝑗=1(𝑓(𝑖, 𝑗) − 𝑓𝑒 (𝑖, 𝑗)) avec fe : l’image filtrée

11
Lamia RZOUGA & Youssef ZOUHIR 2020-2021
TP : Techniques de Traitement d’Images ENSTAB

b) Filtrage linéaire d’une image couleur


• Lire l’image de mélanome.
• Il s’agit d’une image couleur. Proposer la méthode marginale pour filtrer cette
image par un filtre linéaire moyenneur de taille 3*3.

c) Filtrage non linéaire

• Lire et afficher l’image médicale de synthèse hoffman.bmp


• Ajouter un bruit ‘sel et poivre’ à l’image. Afficher, sur la même figure, l’image
originale et l’image bruitée. Insérer des titres.
• Afficher les histogrammes des deux images. Les interpréter.
• Filtrer l’image bruitée avec les filtres non linéaires : médian, minimum et
maximum en utilisant les fonctions suivantes : « medfilt2 » et « ordfilt2 ».
• Commenter les résultats obtenus.

➢ Filtrage dans le domaine spectral

• Lancer la démonstration de la réduction du bruit avec la commande « nrfiltdemo».


• Modifier à chaque fois, les paramètres du bruit et les paramètres des filtres utilisés.
Interpréter.
• Lancer la démonstration du filtrage spectral, en tapant la commande « firdemo ».
• Tester, sur la même image, le filtrage passe-haut puis passe-bas. Comparer.

Référence
o Les TP 3 et 4 sont rédigés en se basant sur le fascicule des travaux pratiques : Traitement
d’Images du Professeur Madame Nawres KHALIFA.

12
Lamia RZOUGA & Youssef ZOUHIR 2020-2021

Vous aimerez peut-être aussi