TP3 Traitement D'images

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
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