Vous êtes sur la page 1sur 18

‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

Département industriel

Filière génie mécanique et systèmes automatisés 3

Compte rendu TP4 : traitement d’image

Réalisé par :

 Zineb ELATTAR SOFI


 Amina QADDOURI
 Jihad KERBOUT
Encadré par :
 Pr. KHAISSIDI GHIZLANE

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

Exercice 1 : detection des contours

Les contours constituent une information essentielle pour certaines applications de traitement
d’images. En particulier, les contours d’un objet permettent généralement de caractériser sa forme.
Un jeu de filtres détecteurs de contours (Prewitt, Roberts ou Sobel) est constitué d’une paire de
filtres linéaires, qui détectent les contours dans deux directions orthogonales. Les filtres de Prewitt
sont les suivants :

Filtre horizontal et vertical : h et v.

A partir d’une image I, on calcul Gh et Gv, images correspondant au filtrage de I par h et v.


Pour obtenir une image de contour unique, ne tenant pas compte de l’orientation, on calcule G. On
cherchera à obtenir une image de contour binaire. Pour cela, il faut choisir un seuil de détection.
Tous les pixels de G dont l’intensité est supérieure au seuil passeront à l’état 1.

1. Chargement d’image « circuit.tif ».

2. Ecrire les programmes permettant de détecterles contours de l’image en utilisant


les troisfiltres : Prewitt, Roberts, et Sobel.
a. Prewitt :

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

b. Sobel :

c. Robert :

3. Comparaison entre les contours fournis par les trois jeux de filtres (prewitt, roberts,
sobel).

Pour le filtre prewitt et sobel qui sont des filtres horizontales, ils ont presque le même
fonctionnement avec des contours en gras ou redoublés.

Pour le filtre roberts qui est un filtre discret de pas 1,on joue sur le seuil qui est entre 0 et 1, on
détecte plus les contours sans avoir un bruit en augmentant le seuil, on obtient une image avec plus
de bruit en diminuant le seuil.

Remarque :le filtre sobel représente unpeu plus de bruit par rapport au filtre prewitt

4. Lire le help de la fonction edge de la toolbox et refaire les questions précédentes en


comparant les différents contours obtenus par lesfiltres offerts par cette fonction.

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

‫ⵏⵉⵙⵉⵏⵙⵓⵜⵏⵉⵏⴰⵙⵙⴰⵎⵜⵏⵜⵔⵓⵎⴰⵏⴰⵜⵍⵎⵏⵉⵜ‬ ‫ⵀⴰⵍⵍⵓⴷⴱⵄⵏⴱⴷⴰⵎⵎⵃⵓⵎⵉⴷⵉⵙⵜⵉⵡⴰⴷⵙⴰⵜ‬

‫‪a. Prewitt :‬‬

‫‪b. Sobel :‬‬

‫‪c. Roberts :‬‬

‫‪Année universitaire :2022/2023‬‬
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

On remarque que la détection des contours à l’aide de roberts, ne donne pas une précision
pour lesTraits horizontales dans le cas général, mais si on fait diminuer le seuil, on peut atteindre la
détection mais il y a la présence d’un bruit sur l’image, plus on diminue le bruit, plus on risque de
perdre les contours horizontales et par la suite tous les contours de l’image.

Remarque : la fonction edge peut détecter seulement les contours sans tenir compte le
bruit de l’image à condition de choisir le bon seuil.

5. Appliquer le filtre laplacien sur l’image « circuit.tif » et « cameraman.tif » avec


deux méthodes différentes.

a. Filtre laplacien sur « circuit.tif » :


 Méthode 1 :

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

 Methode 2 :

b. Filtre laplacien sur « cameraman.tif » :


 Méthode 1 :

 Méthode 2 :

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

On remarque que le filtre laplacien donne plus de bruit sur l’image circuit.tif les contours ne sont pas
claires. Par contre pour l’image cameraman.tif les contours sont visible.

Remarque : on suppose que c’est du à l’homogénéité de l’image initiale.

Exercice 2 : Traitement d’images binaires par Morphologie Mathématique

L’analyse par morphologie mathématique vise à modifier la structure et la forme des objets
de l’image, par exemple, pour séparer les objets, les discriminer en fonction de leur taille, remplir les
trous, La transformation morphologique modifie la valeur d’un pixel de l’image en fonction de la
valeur de ses voisins. Pour cela, on utilise un élément structurant, qui est un masque binaire. Il
permet de prendre en compte le voisinage du pixel. Les traitements morphologiques sont définis à
partir de deux opérations de base qui sont l’érosion et la dilatation.

1. Erosion et dilatation d’une image binaire :


a. Binariser l’image en utilisant la méthode de votre choix :

b. Par convention le « fond » de l’image binaire doit être noir (à « 0 »), et la forme de
l’objet Doit être blanche (à « 1 »). Donc, vous pouvez inverser l’image binaire avec
l’opérateur « ~ » (I = ~ I) :

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

Figure 1: image Ib Figure 2: image Ibi

On observe que l’image Ibi et l’inverse de Ib obtenue à l’aide de l’operateur « ~ ».

c. Choisissez un élémentstructurant. Vous pouvez l’écrire directementsous la forme


d’unematrice binaire (ex. SE = ones(3), SE = [0 1 0;1 1 1;0 1 0], …). Erodez les formes
de L’image binaire avec imerode. Définissez, avec « l’aide de Matlab » (commande
helpwin) :

Nous pouvons donc dire que l’érosion permet d’éliminer les pixels isolés sur le fond et a
érodé le contour des objets de l’image CIRCUIT.

d. De même, dilatez les formes de l’image binaire avec imdilate et définissez cette
opération avec l’aide de Matlab :

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

On constate que La dilatation permet d’éliminer les trous isolés dans les objets et dilater les bords
des objets.

e. Erodez ou dilatez l’image binaire en jouant avec la forme de l’élémentstructurant :

Observez notamment les résultats lorsque l’élément structurant n’est pas symétrique par Rapport à
son origine :

Dans ce cas, l’élément structurant n’est pas symétrique. Cette érosion tronque les coins supérieurs
droits des objets, donc l’élément structurent joue un rôle très important pour les formes dilatés et
érodés.

f. On veut observer la relation de dualité entre l’érosion et la dilatation :


 Créer une Image binaire résultat de l’érosion du fond :

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

 Créer un second résultat de la dilatation des Formes:

On obtient le même résultat pour les 2 instructions.

2. Ouverture (érosion puis dilatation) d’une image binaire bruitée :


a. Chargez l’image CIRCUIT.TIF et ajoutez-lui du bruit avec la fonction randn. Cette
fonction permet de générer une matrice d’un bruit gaussien N(0, 1) que vous
pouvez amplifier et à ajouter à votre image originale :

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

Figure 3:l'image initiale Figure 4:l'image bruitée

b. Binarisezl’image originale et l’image bruitée :

On obtient 2 image l’une à gauche c’est l’image initial, et l’image à droite c’est l’image binaire
bruitée.

c. Choisissez un élémentstructurant symétrique. Faites l’érosion puis la dilatation de


l’image binaire bruitée. La composée de ces deux fonctions s’appelle l’ouverture de
l’image :

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

L’intérêt d’une transformation est :

 d’éroder les formes de l’image pour supprimer les pixels isolés qui correspondent au
bruit,
 dilater les formes de l’image afin de leur rendre une proportion proche de celle
qu’ellesavaient avant l’érosion.
d. Cette fois, l’élément structurant n’est pas symétrique, Proposez et testez une
méthode qui garantisse alors, la reconstruction des objets à l’identique. Une piste :
il faut penser à faire l’érosion et la dilatation avec un élémentstructurant différent :

On remarque que le bruit est atténué et les formes sur l’image de sortie gardent les mêmes
proportions que sur l’image d’entrée.

3. Fermeture puis ouverture d’une image binaire :


a. Charger l’image en niveau de gris PEARLITE.TIF. binariser et inverser l’image.

I = imread (‘pearlite.tif’);

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

L = graythresh (I)

I = ~im2bw (I,L);

b. Pour réaliser la fermeture de cette image ont créé un élémentstructurant avec la


fonction strel de Matlab :
SE = strel ('disk', 6)

Dans la console on a alors :

l’image de la fermeture est alors obtenue par la commande :Ifer = imclose (I,SE) ;

La fermeture adoucit les bords des formes, bouche les canaux étroits, fusionne les objets
proches les uns des autres et bouche les trous depetite taille.

c. Pour réaliser l’ouverture de l’image précédente, on utilise la fonction imopen de


Matlab :

Im = imopen (Ifer, SE);

On obtient alors l’image suivante:

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

L’ouverture d’une image binaire adoucit les bords des formes en supprimantles détails.

d.

La succession de la fermeture puis de l’ouverture nous a permis d’extraire les objets


larges de l’image binaire, et de réaliser une segmentation. Ces deux traitements sont
typiquement utilisés pour adoucir les bords, compléter, ou pour enlever des objets dans
une image binaire. Lechoix de l’élément structurant dépend de la taille et de la forme
desobjets à modifier.

Exercice 3 : filtrage morphologique pour des images monochromes

Dans cet exercice, il s’agit d’étendre aux images monochromes, les traitements morphologiques qui
ont été vus pour des images binaires. Chargez l’image en niveaux de gris CAMERAMAN.TIF

1. Filtrage morphologique d’images monochromes :


a. Erodez l’image Cameraman.tif (imerode) avec l’élément structurant ES défini par :
ES=strel('ball',5,5)

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

Voici les résultats de l’affichage :

b. Affichez le résultat et comparez-le avec l’image avant traitement. A l’aide des


définitions données dans la toolbox Image Processing de Matlab, donnez une
définition de l’érosion pour les images en niveaux de gris.

Une érosion en niveaux de gris réduit l’intensité lumineuse des pixels qui sont entourés de voisins de
moindre intensité (visible sur les images inversées, Ce voisinage est défini par l’élément structurant.
L’ensemble des pixels de l’image est balayé en appliquant l’élément structurant. La valeur d’un pixel
après érosion est alors définie comme étant la valeur minimale de tous les pixels de son voisinage.

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

c. De même, Dilatez l’image Cameraman.tif (imdilate) avec le même


élément structurant. Affichez le résultat et comparez-le avec l’image avant
traitement. Toujours à l’aide des définitions données dans la toolbox Image
Processing, donnez une définition de la dilatation pour les images en niveaux de
gris.

Une dilatation en niveaux de gris augmente l’intensité lumineuse d’un pixel entouré de voisins plus
lumineux (visible sur les images inversées).

L’ensemble des pixels de l’image est balayé en appliquant l’élément structurant La valeur d’un pixel
après dilatation est alors définie comme étant la valeur maximale de tous les pixels compris dans le
voisinage.

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

d. Réalisez une ouverture et une fermeture de l’image


Cameraman.tif. Observez et interprétez les résultats obtenus.

Année universitaire :2022/2023
‫المدرسة الوطنية للعلوم التطبيقية‬ ‫جامعة سيدي محمد بن عبد هللا‬

ⵜⵉⵏⵎⵍⵜⴰⵏⴰⵎⵓⵔⵜⵏⵜⵎⴰⵙⵙⴰⵏⵉⵏⵜⵓⵙⵏⵉⵙⵉⵏ ⵜⴰⵙⴷⴰⵡⵉⵜⵙⵉⴷⵉⵎⵓⵃⵎⵎⴰⴷⴱⵏⵄⴱⴷⵓⵍⵍⴰⵀ

 Une ouverture en niveau de gris est une érosion suivie d’une dilatation en niveaux de gris
 Elle élimine les points clairs isolés et lisse les contours.
 On observe également une segmentation des différentes formes de l'image.
 Une fermeture en niveaux de gris est une dilatation suivie par une érosion en niveaux de gris.
Elle élimine les points sombres isolés et lisse les contours.

Conclusion :

Vers la fin de ce TP nous avons pu atteindre les objectifs de ce dernier ; on a pu manipuler les
différentes opérations de la morphologies mathématique en traitement d’image dont l’érosion , la
dilatation, la fermeture et l’ouverture, on a également maîtrisé les diférentes manière de détection
des contours d’une image.

Année universitaire :2022/2023

Vous aimerez peut-être aussi