Vous êtes sur la page 1sur 19

Ministère de l’Enseignement Supérieur et de la Recherche

Scientifique
Ecole Nationale d’Electronique et des Télécommunications de Sfax

TP3 :
Segmentation des images et
opérateurs morphologiques

Elaboré par :

 ABDALLAH AYA

Encadré par :

 MR. AMRI HEDI

Classe :

2 GII 1

Année universitaire : 2022/2023


ENET’COM Traitement d’images 2ème Année GII 1

Exercice n =°1 :

Une LUT (Look-Up Table) ou table de conversion est une


fonction qui transforme un niveau de gris initiale i en un
niveau de gris j sans toucher la structure spatiale de l’image

 Transformation linéaire.
 Transformation linéaire avec saturation.

Image 1 :

Image 2 :
ENET’COM Traitement d’images 2ème Année GII 1

Image 3 :

Image 4 :
ENET’COM Traitement d’images 2ème Année GII 1

Création de function AppLut:


function iout = AppLut(Iin ,maLUT)
[nl nc ] = size(Iin) ;
iout = uint8(zeros(nl, nc )) ;
for i=0: 255
U(:,:)=Iin ==i;
iout(U)= maLUT(i+1);
end

1) Nous avons ici créé les tableaux de la


conversion suivante :

Transformation linéaire :
clear all ; clc ; close all ;
Ng =0:1:255 ;
LUT1 = uint8(0.5*Ng);
LUT2 = uint8(255 -Ng) ;

Transformation linéaire avec saturation :


mn =50 ;
mx = 180 ;
LUT3 =uint8(255*(Ng- mn )/(mx - mn ));

2) On a lire et afficher l’image 'image1.bmp'


im = imread('image1.bmp'); //Lire l’image
figure , imshow(im) ; //L’afficher

Résultat :
ENET’COM Traitement d’images 2ème Année GII 1

3) On a appliqué les LUT1,2,3 sur les images en niveaux


de gris 'image1.bmp', 'image2.bmp' et 'image3.bmp'
:
[nl nc]= size(im) ;
im1 = AppLut(im, LUT1) ; //LUT1 appliqué sur im
im2 = AppLut(im , LUT2 ) ; //LUT2 appliqué sur im
im3 = AppLut(im , LUT3) ; //LUT3 appliqué sur im

% im1(i,j)= LUT1(im(i,j)+1) ;
%im2(i,j) = LUT2(im(i,j)+1) ;
%im3(i,j) = LUT3(im(i,j)+1) ;

figure ,
subplot(2,2,1) , imshow(im),title('Im' ) ,
subplot(2,2,2) , imshow(im1),title('Im1' ) ,
subplot(2,2,3) , imshow(im2),title('Im2' ) ,
subplot(2,2,4) , imshow(im3),title('Im3' ) ;

Him = imhist(im) ; //L’histogramme de im


Him1 = imhist(im1) ; //L’histogramme de im1
Him2 = imhist(im2) ; //L’histogramme de im2
Him3 = imhist(im3) ; //L’histogramme de im3

figure ,
subplot(2,2,1) , imhist(im),title('HIm' ) ,
subplot(2,2,2) , imhist(im1),title('HIm1' ) ,
subplot(2,2,3) , imhist(im2),title('HIm2' ) ,
subplot(2,2,4) , imhist(im3),title('HIm3' ) ;
ENET’COM Traitement d’images 2ème Année GII 1

Résultat :
Voici les images :

Et voici ses histogrammes :


ENET’COM Traitement d’images 2ème Année GII 1

Exercice n=°2 :

1) Le rôle de la fonction imnoise :

2) Nous avons ici lire et afficher l’image


‘image3.bmp’ qui affecté à la variable im :
ENET’COM Traitement d’images 2ème Année GII 1

3)
4) Nous avons calculé à partir de l’image im
les images :
 Isp suite au bruit Sel & Poivre de densité 0.01.
 Ipois suite au bruit Poisson.
 Is suite au bruit de Speackle de variance 0.02.
 Ig suite au bruit Gaussien de moyenne 0 et de
variance 0.1.

clear all ; clc ; close all ;


im = imread('image3.bmp');
figure , imshow(im) ;
[nl , nc]= size(im) ;
d =0.01 ;
v = 0.02;
M = 0 ;
V =0.1 ;
Isp = imnoise(im,'salt & pepper',d);
Ipois = imnoise(im,'poisson');
Is = imnoise(im,'speckle',v);
Ig= imnoise(im,'gaussian',M,V);

psnr(im ,Isp) ; //L’erreur entre l’image im et Isp


psnr(im ,Ipois);//L’erreur entre l’image im et Ipois
psnr(im ,Is) ; //L’erreur entre l’image im et Is
psnr(im ,Ig) ; // L’erreur entre l’image im et Ig
ENET’COM Traitement d’images 2ème Année GII 1

5) Ici on a affiché le résultat dans une figure qui


contient les 5 images :
ENET’COM Traitement d’images 2ème Année GII 1

10) Le rôle des fonctions medfilt2 :

11) Ici on a appliqué un filtre médian carré 3*3 sur


les images Isp, Ipois, Is et Ig :
ENET’COM Traitement d’images 2ème Année GII 1

Ici on a appliqué un filtre médian carré 5*5 sur les


images Isp, Ipois, Is et Ig :

13) Maintenant on a affiché le résultat dans une


figure :
ENET’COM Traitement d’images 2ème Année GII 1

6) Le rôle des fonctions imfilter :

7) On a appliqué un filtre moyenneur carré 3*3


(h=ones (3*3)*(1/9)) sur les images Isp, Ipois, Is
et Ig :
ENET’COM Traitement d’images 2ème Année GII 1

On a appliqué un filtre moyenneur carré 5*5


(h=ones (5*5)*(1/9)) sur les images Isp, Ipois, Is et
Ig :

B_ = medfilt2(Isp, [5 5]);
B1_ = medfilt2(Ipois, [5 5]);
B2_ = medfilt2(Is, [5 5]);
B3_ = medfilt2(Ig, [5 5]);
figure ,
subplot(2,2,1) , imshow(B_),title('Isp' ) ,
subplot(2,2,2) , imshow(B1_),title('Ipois' ) ,
subplot(2,2,3) , imshow(B2_),title('Is' ) ,
subplot(2,2,4) , imshow(B3_),title('Ig' ) ;

figure ,
subplot(3,4,1) , imshow(Isp),title('Isp' ) ,
subplot(3,4,2) , imshow(B),title('Fd3' ) ,
subplot(3,4,3) , imshow(B_),title('Fd5' ) ,
subplot(3,4,4) , imshow(Ipois),title('Ipois' ) ,
subplot(3,4,5) , imshow(B1),title('Fd23' ) ,
ENET’COM Traitement d’images 2ème Année GII 1

subplot(3,4,6) , imshow(B1_),title('Fd25' ) ,
subplot(3,4,7) , imshow(Is),title('Is' ) ,
subplot(3,4,8) , imshow(B2),title('Fd33' ) ,
subplot(3,4,9) , imshow(B2_),title('Fd35' ) ,
subplot(3,4,10) , imshow(Ig),title('Ig' ) ,
subplot(3,4,11) , imshow(B3),title('fd43' ) ,
subplot(3,4,12) , imshow(B3),title('Fd53' ) ;

8)
h3 = ones(3,3)*1/9 ;
h5= ones(5,5)*1/25 ;

Fy13 = imfilter(Isp,h3) ;

Fy15 = imfilter(Isp,h5) ;

Fy23 = imfilter(Ipois,h3) ;

Fy25 = imfilter(Ipois,h5) ;

Fy33 = imfilter(Is,h3) ;

Fy35 = imfilter(Is,h5) ;

Fy43 = imfilter(Ig,h3) ;

Fy45 = imfilter(Ig,h5) ;

figure ,
subplot(3,4,1) , imshow(Isp),title('Isp' ) ,
subplot(3,4,2) , imshow(Fy13),title('Fy13' ) ,
subplot(3,4,3) , imshow(Fy15),title('Fy15' ) ,
subplot(3,4,4) , imshow(Ipois),title('Ipois' ) ,
subplot(3,4,5) , imshow(Fy23),title('Fy23' ) ,
subplot(3,4,6) , imshow(Fy25),title('Fy25' ) ,
subplot(3,4,7) , imshow(Is),title('Is' ) ,
subplot(3,4,8) , imshow(Fy33),title('Fy33' ) ,
subplot(3,4,9) , imshow(Fy35),title('Fy35' ) ,
subplot(3,4,10) , imshow(Ig),title('Ig' ) ,
subplot(3,4,11) , imshow(Fy43),title('Fy43' ) ,
subplot(3,4,12) , imshow(Fy45),title('Fy45' ) ;
ENET’COM Traitement d’images 2ème Année GII 1

Exercice n=°3 :

1)Nous avons ici lire et afficher l’image


‘image1.bmp’ qui affecté à la variable Im :

2) Le rôle de la fonction edge :


ENET’COM Traitement d’images 2ème Année GII 1

1) Nous avons réalisé la détection du contour sur


l’image ‘image1.bmp’ par le détecteur de
« Canny » :
ENET’COM Traitement d’images 2ème Année GII 1

Nous avons maintenant réalisé la détection du


contour sur l’image ‘image1.bmp’ par le détecteur
de « Prewitt », « Roberts », « Sobel », et « Canny » :

Exercice n=°4 :

1) Nous avons ici lire et afficher l’image


‘image1.bmp’ qui affecté à la variable Im :
ENET’COM Traitement d’images 2ème Année GII 1

2) Le rôle de la fonction K-means :

3) Nous avons appliqué K-means sur l’image


‘image1.bmp’ pour extraire 2,3,4 puis 5
régions de l’image Im en utilisant la fonction
imagesc pour afficher Imk3 :
ENET’COM Traitement d’images 2ème Année GII 1

4) La segmentation par l’algorithme K-means :

5) Nous limiterons à une segmentation de 3


régions. Isoler la région 1 (qu’on nommera
REG1), la région 2 (qu’on nommera REG2) et
la région 3 (qu’on nommera REG3) :

Vous aimerez peut-être aussi