Vous êtes sur la page 1sur 6

UNIVERSITE SIDI MOHAMED BEN ABDELLAH Année 2022-2023

ECOLE SUPERIEURE DE TECHNOLOGIE DE FES Dr M. OUREMCHI


DEPARTEMENT GENIE ELECTRIQUE ET INFORMATIQUE
Licence PIM

TP1 : Création et Affichage d’images.

But :
Cette première partie du TP a pour but de vous guider dans la prise en main de
Matlab en utilisant certaines fonctions relatives aux traitements d’image disponibles
dans ce logiciel.

1°) Création d’image à partir d’une matrice (image de taille nxn)


Ecrire la fonction qui construit cette matrice image M1 pour n=3, 5, 7, 9, et 12
puis afficher cette l’image M1 (utiliser 0 ou 1 comme valeur des éléments de la
matrice).
Créer une image binaire contenant votre nom et prénom.

2°) Chargement d’images en niveau de gris :


Afficher l’image et donner les paramètres de l’image chargée : type et taille.

3°) Chargement d’images couleurs :


Il s’agit d’une image en vraies couleurs (true colors) (RVB)
Charger une image couleur disponible dans le répertoire "image" de Matlab puis
afficher cette image. Quelle est sa taille.
Décomposer l’image couleur en trois composantes R,V et B et afficher ces trois
composantes. Comparer les.

4°) Sauvegarde des images :

Sauvegarder les images créées ou modifiées par ce traitement.

NB : Utiliser le complément ci-joint pour effectuer ce travail du TP.


Utiliser également le Help de Matlab pour certaines fonctions de traitement
d’images

Licence PIM TP –Vision Industrielle


Compléments pour le TP :

Image= imread('nom Image'); // chargement de l'image

[nblig,nbcol,nbcoul] = size(Image); // calcul de la taille de l'image

pixels = nblig*nbcol; // calcul du nombre de pixels

pixels // affichage du nombre de pixels

R = Image(:,:,1); // extraction de la composante rouge

V = Image(:,:,2); // extraction de la composante verte

B = Image(:,:,3); // extraction de la composante bleue

Figure, imshow(R); // affichage de la composante rouge

Figure, imshow(V); // affichage de la composante verte

Figure, imshow(B); // affichage de la composante bleue

ImageNG = rgb2gray(Image); // conversion en une image en niveaux de gris

imhist(ImageNG) ; //calcul et affiche l’histogramme de niveaux de gris

imwrite(ImageNG,'nom de l’image . format'); // enregistrement de l'image traitée

Licence PIM TP –Vision Industrielle


UNIVERSITE SIDI MOHAMED BEN ABDELLAH Année 2022-2023
ECOLE SUPERIEURE DE TECHNOLOGIE DE FES Dr M. OUREMCHI
DEPARTEMENT GENIE ELECTRIQUE ET INFORMATIQUE
Licence PIM

TP2 : Histogramme
But : Ce travail est de voir les différentes méthodes de traitement d’image :
modification d’histogramme, filtrage par convolution, le filtrage non linéaire et le
filtrage dans le domaine fréquentielle. Ce travail est réalisé sur le logiciel Matlab.

I -Calcul d’histogrammes

1°) Créez la matrice M1 de taille 5x5 dont les valeurs sont comprises entre 0 et 1.

Avec comme valeurs :


- 0 pour un pixel noir ;
- 64/255 pour un pixel gris foncé ;
- 127/255 pour un pixel gris moyen ;
- 192/255 pour un pixel gris clair;
- 1 pour un pixel blanc.

Vous pouvez éventuellement prendre une taille plus grande.

2°) Vérifiez que vos coefficients sont exacts en affichant M1 avec la fonction
imagesc. Affichez et commentez l’histogramme de M1 obtenu avec la commande
imhist(M1) puis imhist(M1,5).

3°) Reprendre l’exemple vu en TD et visualiser l’image qui est présentée par le


tableau. Calculer son histogramme à l’aide de fonction imhist. Conclure.
Calculer son histogramme égalisé. Comparer vos résultats.

4°) Calcul de l’histogramme de l’image niveau de gris :

Licence PIM TP –Vision Industrielle


Charger des images monochromes disponibles dans le répertoire "image" de
Matlab et calculer leur histogramme. Interpréter les résultats des histogrammes
correspondants.

Comparer les histogrammes avec le script ci-dessous.

-----------------------------------------
[nblig,nbcol]=size(I);
h=zeros(1,256);
for lig=1:nblig
for col=1:nbcol
ng=double(I(lig,col))+1;
h(ng)=h(ng)+1;
end
end
-------------------------------------------

II-Égalisation d’histogramme

1°) Charger une image niveau de gris mal éclairée et calculer son histogramme (de
préférence un histogramme bimodale). Afficher les résultats

2°) A l’aide de la fonction histeq, égaliser son histogramme. Affichez et comparez


les images et les histogrammes avant et après égalisation.

III-Binarisation

1°) Utiliser l’image précédente et à partir des deux histogrammes, déterminer le


seuil le plus efficace dans chaque pour binariser l’image.

2°) La fonction im2bw permet la binarisation d’une image. Consulter le help de


matlab, puis afficher l’image binaire l’aide de la fonction im2bw.

3°) On se propose maintenant de créer l’image binaire à l’aide d’un script.


Ecrire le script permettant de binariser une image niveau de gris avec le seuil calculé
au II-1°).
On peut utiliser des instructions classiques (for, if, …), mais on peut également
utiliser la commande vectorielle find (voir le help).

Licence PIM TP –Vision Industrielle


le script Matlab de binarisation:
seuil = 128;
Im = imread (‘tire.tif’);
n= size(Im,1); % Nombre de lignes de l’image
m= size(Im,2); % Nombre de colonnes de l’image
for i=1:n %Balayage sur les lignes de l’image
for j=1:m %Balayage sur les colonnes de l’image
if Im(i,j) < seuil
ImBinaire(i,j) = 0;
else
ImBinaire (i,j) = 1;
end
end
end
imshow(ImBinaire);

Licence PIM TP –Vision Industrielle


UNIVERSITE SIDI MOHAMED BEN ABDELLAH Année 2022-2023
ECOLE SUPERIEURE DE TECHNOLOGIE DE FES Dr. M. OUREMCHI
DEPARTEMENT GENIE ELECTRIQUE ET INFORMATIQUE
Licence PIM

TP3 : Filtrage linéaire et non linéaire


Le but de ce travail est de voir les différentes méthodes de traitement d’image :
filtrage par convolution, le filtrage non linéaire et le filtrage dans le domaine
fréquentielle. Ce travail est réalisé sur le logiciel Matlab.

IV-Filtrage

a- Filtrage linéaire dans le domaine spatial

1°) Création d’une image bruitée


L’image bruitée est obtenue par la fonction imnoise de Matlab. Cette fonction permet
de créer différents types de bruit. Créer l’image bruitée avec un bruit de type
"poivre-et-sel " ("salt & pepper") ou bruit impulsionnel. Afficher l’image bruitée et
expliquer comment peut-on créer ce bruit?

2°) Application d’un filtre linéaire


On souhaite réduire le bruit dans l’image. Dans un premier temps, on considère
un filtre moyenneur (3x3) pour réduire le bruit dans l’image. Son noyau (ou masque)
de convolution est :
1 1 1
1
1 1 1
9
1 1 1

Appliquer ce filtre (utiliser la fonction conv2), et observer l’image débruitée.


Interpréter le résultat obtenu.
Essayer avec un filtre moyenneur 5x5. Conclure.

3°) Application d’un filtre non-linéaire


Avec la même image bruitée, on applique un filtre médian (3x3). Sous Matlab, le
filtrage médian peut être réalisé à l’aide de la fonction medfilt2. Expliquer le
principe de cette fonction. Observer les résultats et expliquer les différences avec les
filtres moyenneurs précédemment utilisés.

Licence PIM TP –Vision Industrielle

Vous aimerez peut-être aussi