0% ont trouvé ce document utile (0 vote)
478 vues7 pages

TP Traitment D'image ISSAT

Transféré par

Hiba MZOUGHI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
478 vues7 pages

TP Traitment D'image ISSAT

Transféré par

Hiba MZOUGHI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

FASCICULE DES TRAVAUX PRATIQUES DE TECHNOLOGIES MULTIMEDIAS

TP3
Traitement d’image

Objectif du TP
Le traitement d'images est un domaine de l'informatique qui concerne la manipulation
d'images numériques à l'aide des algorithmes et des techniques spécifiques. Il implique des
opérations telles que la restauration et l'amélioration de la qualité d'image, l'extraction de
caractéristiques, la reconnaissance d'objets et la segmentation d'images.

Il utilise des techniques mathématiques telles que la transformée de Fourier, la convolution


et les statistiques pour analyser et modifier les images. Les algorithmes de traitement d'images
sont souvent conçus pour prendre en compte les caractéristiques particulières des images
telles que la résolution, la couleur, la luminosité et le contraste.

Le traitement d'images est utilisé dans de nombreuses applications telles que la photographie
numérique, la reconnaissance de caractères, la médecine, la surveillance, la sécurité, l'analyse
de données, etc.

Ce travail pratique comporte trois grandes parties : la première sera dédiée aux différentes
opérations qu’on peut effectuer sur une image, quant à la deuxième partie elle sera consacrée
à la numérisation de l’image. La troisième partie sera dédiée pour l’étude d’histogramme, le
rehaussement et le filtrage.

Le but de ce TP est de :

ü Initier la manipulation, sous MATLAB, des images numériques telles que le chargement et
la sauvegarde d’une image et la représentations couleur.
ü Tester les transformations géométriques appliquées à l’image.
ü Tester les opérations d’échantillonnage et de la quantification d’une image.
ü Tester l’effet d’histogramme, du rehaussement et du filtrage sur l’image.

Partie I : Opérations sur les images


Exercice1: 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.

LAILA OUANNES (2023-2024) 20


FASCICULE DES TRAVAUX PRATIQUES DE TECHNOLOGIES MULTIMEDIAS

1. Lire l'image [Link] et la stocker dans la variable Im1 avec la fonction « imread ».
2. Afficher l'image avec « imshow », puis avec « imagesc » sur la même figure à l’aide de la
fonction « subplot ». Commenter.
3. Choisir une palette en niveau de gris « colormap ('gray') ». Choisir d’autres palettes de votre
choix.
4. Déterminer les dimensions de l’image à l’aide de « size ».
5. Convertir l’image en double en utilisant les fonctions « im2double » et « double » et les
stockées respectivement dans Im2d et Imd. 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).

5. Récupérer le niveau de gris du pixel (150,100) de Im1, Im2d et Imd respectivement.

6. Récupérer une sous-matrice de dimensions [120x120] au milieu de l’image et sauvegarder


l’image récupérée dans la matrice ImCroped de deux manières différentes. Afficher le
résultat.

[Link] la matrice ImCroped dans le fichier [Link], ensuite dans le


fichier [Link] respectivement à l’aide de la fonction « imwrite ».

8. Recharger les deux images [Link] et [Link] dans les


matrices Im3 et Im4 respectivement.

9. Afficher les matrices Im3 et Im4 et comparer entre les formats.

Exercice 2: Définition et visualisation d’une image

Une image est représentée sous MATLAB sous forme d’une matrice dont les valeurs
désignent la couleur, le niveau de gris, ...

1. Définir une matrice I, [128x128], telle que : Iij = j à l’aide de la fonction « repmat ».

1 2 … 128

1 2 … 128

1 2 … 128

1 2 … 128

La matrice I

LAILA OUANNES (2023-2024) 21


FASCICULE DES TRAVAUX PRATIQUES DE TECHNOLOGIES MULTIMEDIAS

2. Afficher l’image de deux manières différentes. Conclure.

3. Créer une image V noire de dimension [256x256] avec deux carrés centrés au milieu :
un premier carré gris (niveau de gris 100) de dimensions [128x128] et un deuxième
carré blanc de dimensions [56x56].

4. Visualiser l’image.

L’image V

Exercice 3 : Systèmes de représentation de couleurs et types d’images

L’espace de couleur RGB est l’espace vectoriel composé 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. Par exemple si on désirai afficher la première
composante de I on écrit : I (: , :, 1) = C ; Im1( : , : ,2) = 0 et Im1( : , : ,3) = 0.

Il existe plusieurs espaces de couleur autres que l’espace RGB tels que :

- L’espace de couleurs HLS (Hue Luminance Saturation) est engendré par la teinte, la
luminance (la quantité de noir ou de blanc dans une couleur) et la saturation (une mesure
de la pureté d’une teinte). Les espaces de couleur HLS sont largement utilisés par les
artistes.
- L’espace de couleurs CMY (Cyan Magenta Yellow) est un espace normalisé et il est
souvent utilisé dans l’impression couleur. Il utilise le Cyan, le Magenta et le jaune
comme des couleurs primaires tandis que le rouge, le vert et le bleu sont les couleurs
secondaires.
- L’espace de couleurs HSV (Hue Saturation Value) est engendré par les trois composantes
teinte, saturation et valeur ou autrement la légèreté. Il est aussi utilisé par les artistes.
- L’espace de couleurs YCbCr représentant l'espace colorimétrique d'un signal vidéo
analogique, développé essentiellement pour traiter les problèmes observés lors de la
télédiffusion hertzienne. Y concerne la « Luma » à ne pas confondre avec la luminance
relative notée Y. Pour générer la donnée Y combinée au signal de luminance (noir et

LAILA OUANNES (2023-2024) 22


FASCICULE DES TRAVAUX PRATIQUES DE TECHNOLOGIES MULTIMEDIAS

blanc), les deux informations de chrominance Cb (Y moins le bleu) et Cr (Y moins le


rouge) sont ajoutées.

1. Charger l’image [Link] dans Im1 et vérifier que c’est une image en couleur.

2. Convertir l’image RGB en HSV, YCbCr et niveau de gris à l’aide des fonctions
« rgb2hsv », « rgb2ycbcr » et « rgb2gray » respectivement dans Im2, Im3 et Im4.

3. Afficher les trois images obtenues à l’aide de « subplot ».

4. Convertir l’image RGB en image indexée en utilisant la fonction « rgb2ind » avec 32


couleurs. Afficher le résultat.

5. Ecrire la fonction [C1, C2, C3] = Extrait_Composantes (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 libellées (Exemple : Image Originale,
Première composante, Deuxième composante, et Troisième composante).

6. Exécuter la fonction pour l’image en RGB, HSV et YCbCr respectivement.

7. Afficher l’image RGB avec une seule composante (par exemple la composante rouge)
ensuite avec seulement deux composantes (par exemple rouge et vert).

Exercice 4 : Opérations géométriques

Ce sont des transformations telles que la nouvelle valeur du pixel dépend uniquement de son
ancienne valeur.

1. Lire l’image en niveau de gris [Link].

2. Appliquer sur cette image les opérations suivantes :

B : Inversion du niveau de gris à l’aide de la fonction : f(x)=255-x.

C : Symétrie par rapport horizontale en utilisant la fonction « flipud ».

D : Symétrie par rapport verticale à l’aide de la fonction « fliplr ».

E : Symétrie par rapport au centre en utilisant la fonction « imrotate ».

-A- -B- -C- -D- -E-

LAILA OUANNES (2023-2024) 23


FASCICULE DES TRAVAUX PRATIQUES DE TECHNOLOGIES MULTIMEDIAS

Partie II : Numérisation des images

Une image numérique peut être échantillonnée et quantifiée. L’échantillonnage est le procédé
de discrétisation spatiale d’une image qui consiste à associer à chaque pixel une valeur
unique. On parle de sous-échantillonnage, lorsqu’une image est discrétisée en diminuant le
nombre de ses pixels.

Exercice 5 : Sous-échantillonnage

1. Charger l'image couleur [Link] dans Im1 ensuite la convertir en niveau de gris.

2. Ecrire une fonction Imse=SousEchantillonnage(Image) qui permet de créer une version


sous-échantillonnée par un facteur de 4 de cette image. Pour cela, créer une nouvelle
image qui ne prend qu'un pixel sur quatre dans l'image originale (Opération à réaliser sur
les lignes et les colonnes de l'image de départ).

3. Réécrire la même fonction sans utiliser de boucles. Afficher l'image ainsi obtenue.

4. Décrire les effets du sous-échantillonnage sur l'image.

5. Refaite la même chose avec un facteur 16. Conclure.

La quantification est la discrétisation tonale correspondant au nombre de valeurs maximales


que peut prendre un pixel. Autrement dit, la quantification d’une image consiste, pour chaque
pixel, à lui associer une valeur discrète d’amplitude. Cette valeur s’exprime en « bit ». On appelle
codage la transformation de la valeur numérique de l’amplitude en une valeur binaire. Donc, la
quantification est le choix du nombre de bits pour coder une image. Habituellement, les
valeurs de pixels sont quantifiées sur b = 8 bits (1 octet), définissant ainsi 256 niveaux de gris
(de 0 à 255). On dit alors que l'image est binaire, si b = 1, c-à-d, il y a deux valeurs possibles
pour les pixels, 0 ou 1.

Exercice 6 : Quantification

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

1. Lire l’image en niveau de gris [Link].

2. Changer le pas de quantification de l'image pour obtenir 128, 64, 32, 16, 8, 4 et 2 niveaux
de gris respectivement. Afficher les images correspondantes afin de déterminer le seuil
minimal de quantification à partir duquel certains faux contours apparaissent.

3. Charger l'image couleur [Link].

4. Changer le pas de quantification de l'image pour obtenir 128, 64, 32, 16, 8, 4 et 2 niveaux
de gris respectivement. Afficher les images correspondantes afin de déterminer le seuil
minimal de quantification.

5. Conclure.

LAILA OUANNES (2023-2024) 24


FASCICULE DES TRAVAUX PRATIQUES DE TECHNOLOGIES MULTIMEDIAS

Partie III : Histogramme et filtrage des images

Cette partie permet de mettre en relief l’utilité des histogrammes dans l’analyse des images et
son importance dans les techniques de rehaussement d’image ainsi que la génération, à partir
d’une image, des images bruitées avec différents types de bruit et à mettre au point la méthode de
restauration par filtrage dans le domaine spatial.

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.

Il existe plusieurs techniques de rehaussement telles que le recadrage de la dynamique,


égalisation de l’histogramme, inversion de niveaux de gris et renforcement de contraste.

Exercice 7 : Histogramme et rehaussement

1. Charger les images : [Link], [Link] et [Link] dans les matrices Im1, Im2 et Im3
respectivement.
2. Afficher sur la même figure :

A. Les trois images précédentes.

B. Les histogrammes des niveaux de gris de ces images en utilisant la fonction


« imhist ». Interpréter les histogrammes.

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) est le pixel de l’image originale .
f(x, y) # min$f(x, y)%
(!, ") = (!"#$ % !"&') + !"&'
&'!$*(!, ")% # min+(*(!, "))

C. Les images résultantes en appliquant la méthode de recadrage de la dynamique


sur les trois images à l’aide de la fonction « imadjust ».
D. Les histogrammes obtenus de ces dernières images. Commenter.
E. Les images obtenues après l’égalisation d’histogramme en utilisant la fonction
« histeq ».
F. Les histogrammes des images résultantes de l’égalisation d’histogramme.
Commenter.
G. Les images obtenues en inversant les niveaux de gris des images initiales.
H. Les histogrammes de ces images. Interpréter ces histogrammes.
I.

Exercice 8 : Filtrage d’une image en niveaux de gris

Il existe plusieurs types de bruit. Dans ce TP, on s’intéressera aux trois types de bruit : Sel et
poivre, Gaussien et de Poisson.

LAILA OUANNES (2023-2024) 25


FASCICULE DES TRAVAUX PRATIQUES DE TECHNOLOGIES MULTIMEDIAS

1. Ecrire une fonction [NI1, NI2, NI3] = NoiseGeneration (Image) qui génère, à partir
d’une image trois images bruitées en utilisant la fonction « imnoise » (chacune par un
type de bruit) et les sauvegarder dans trois images différentes NI1, NI2 et NI3.
Finalement, la fonction doit afficher dans la même figure les quatre images (Image
originale et les trois images bruitées). Commenter.

Dans le domaine spatial, le filtrage peut se faire par différents types de filtrage : soit par
filtrage linéaire tels que les filtres moyenneur ou gaussien, soit par filtrage non linéaire tels
que les filtres d’ordre ou le filtre médian, soit par les filtres morphologiques.

2. Lire les images [Link] et [Link] et les sauvegarder dans IM1 et IM2
respectivement.
3. Générer les images bruitées des deux images précédentes et afficher leurs
histogrammes.
4. Déclarer n un noyau qui correspond à un filtre moyenneur de taille [3x3].
5. Calculer le produit de convolution de IM1 et IM2 par ce filtre à l’aide de la fonction
« conv2 ».
6. Filtrer les images bruitées avec un filtre moyenneur de taille [3x3], [5x5], et [7x7],
respectivement en utilisant les fonctions « fspecial » et « imfilter ».
7. Afficher les histogrammes des images filtrées. Comparer et interpréter visuellement les
résultats obtenus.
8. Ecrire une fonction MATLAB qui permet de calculer le rapport signal/bruit maximal
PSNR (Peak Signal-to-Noise Ratio) et l’erreur quadratique moyenne MSE (Mean-
Square Error).
% '
$
!" = # #( ()*)+, -. / *0)+, -..1
%&'
+2$ -2$

1
:
3!45 = $6789
!"
Avec :
· m et n sont le nombre de lignes et de colonnes dans les images d'entrée.
· If est l’image filtrée de l’image I.
· FM est la fluctuation maximale du type de données d’image d’entrée. Par exemple, si
l'image d'entrée a un type de données à virgule flottante double précision, alors FM est
égale à 1. Si elle a un type de données entier non signé de 8 bits, FM est égale à 255,
etc.
9. Appeler alors cette fonction pour calculer le PSNR de chaque image. Quelle est la
meilleure image au sens de PSNR ?
10. Filtrer IM1 et IM2 avec le filtre médian en utilisant la fonction « medfilt2 ».
11. Afficher sur la même figure les images originales, les images filtrées et leurs
histogrammes.
12. Commenter les résultats obtenus.

LAILA OUANNES (2023-2024) 26

Vous aimerez peut-être aussi