Traitement D’image
République Algérienne Démocratique et Populaire
Ministère de l’Enseignement Supérieur
et de la Recherche Scientifique
Université de Saïda Dr. MOULAY Tahar
Faculté de Technologie
Département d’Electronique
Master (1) Système de télécommunication
Traitement D’image TP
Manipulations d’images en Matlab
Présenté par : BOUAZZA Nadjet Nadia
Daoudi Wafaa
Enseignant : Mansouri
1
Traitement D’image
I. Introduction
L'objectif de ce premier TP est de présenter la notion d’image et d’effectuer
des opérations simples d’analyse d’images (création, visualisation) telles que la
détection de contours, le changement d’espace de couleur et commencer _a
appliquer la transformée de Fourier sur des images en niveaux de gris.
Définition :
Une image numérique est définie comme un signal fini bidimensionnel
échantillonné à valeurs quantifiées dans un certain espace de couleurs. Elle est
constituée de points (pixels).
Autrement dit, une image est une matrice M*N de valeurs entières.
I.1. Différents format des images :
Image : JPEG, GIF, TIF, PNG, BMP,…….etc.
I.2.Outils de gestion des images :
I.2.1. Les fonction MATLAB :
Img : affiche une image (objet graphique image).
Imagesc : affiche une image avec interpolation des couleurs.
Imread : lit une image d’un fichier (formats standards).
Imwrite : écrit une image dans fichier.
Print : exporte une image.
Imhist : affiche l’histogramme d’une image.
L’exemple ci-dessous permet de lire une image au format TIF, de la décoder
dans la variable img et de l’afficher à l’écran dans une figure. La commande
axix (‘image’) rend l’image affichée carrée pour garder les proportions, l’appel
à axis on permet l’affichage des graduations des axes. Colorbar affiche la barre
des couleurs de l’image.
2
Traitement D’image
I.3.Chargement d’une image en matlab (visualisation d’une image) :
clear X map;
imglist = {'flujet', ... Fluid Jet
'spine', ... Bone
'gatlin', ... Gatlinburg
'durer', ... Durer
'detail', ... Durer Detail
'cape', ... Cape Cod
'clown', ... Clown
'earth', ... Earth
'mandrill', ... Mandrill
'spiral'};
colorlabels = {'default', 'hsv','hot','pink',...
'cool','bone','prism','flag',...
'gray','rand'};
Load (imglist{4},'X','map');
Imagesc (X);
colormap (gray); %pour avoir l’image en niveau de gris
%colormap (colorlabels{1});
axis off;
3
Traitement D’image
I.4.Pour ouvrir une deuxième figure :
Figure (2);
colormap gray;%colormap rvb;
xx=imread ('pout.tif');
imshow (xx);
Remarque : on visualise qu’une autre figure de format ‘tif’ en niveau de gris.
4
Traitement D’image
img=imread ('pout.tif');
img2=imread ('pout.tif');
figure;subplot (1, 2,1);imshow (img);
subplot (1, 2,2);imshow (img2);
Interprétation : En effet, il est possible d’afficher plusieurs images dans la
même figure. Pour ce faire, on utilisant la commande subplot. Elle s’utilise
comme arguments le nombre de ligne, le nombre de colonne et le numéro de
l’image dans la figure.
I.5.Fermer une figure sous matlab :
img=imread ('pout.tif');
img2=imread ('pout.tif');
figure;imshow (img);
figure;imshow (img2);
close (1)
close all
5
Traitement D’image
Interprétation : Afin de fermer une figure sous Matlab, on tape close s’il s’agit
de la dernière figure ouverte. Pour fermer toutes les figures, on demande la
fermeture avec le mot clé all.
img=imread ('pout.tif');
figure;imshow (img);
print fig2
Interprétation : On affiche une image « pout » dans une figure et grâce à la
commande’ print’.
img=imread ('pout.tif');
figure;imshow (img);
improfile
6
Traitement D’image
Interprétation : On remarque la détection des niveaux de gris dans une image
par une fonction « profil ».
I.6. détection de contours :
-Image sans bruit gaussien :
img=imread ('pout.tif');
cont1=edge (img,'prewitt');
cont2=edge (img,'canny');
figure;imshow (img);
figure;imshow (cont1);
figure;imshow (cont2);
7
Traitement D’image
Image sans bruit gaussien :
8
Traitement D’image
Prewitt : on n’obtient pas les contours au complet mais on a l’essentiel des
contours et on reconnaitre facilement les formes.
9
Traitement D’image
Canny : L’image prend toutes les variations alors on plein de contours dans
l’image ce qui rend l’image presque inutile.
10
Traitement D’image
I.7.Histogramme –seuillage :
img=imread ('pout.tif');
histo=imhist (img,256);
figure;plot (histo);
4000
3500
3000
2500
2000
1500
1000
500
0
0 50 100 150 200 250 300
On visualise que l’histogramme de la figure « pout » permet de représenter le
niveau de gris en fonction du nombre de pixels à ce niveau. On sait que les
niveaux de gris à zéro correspondent au noir et que les niveaux de gris à 1
indiquent le blanc. L’histogramme donne donc une excellente idée de la
séparation entre quelque chose qui est clair et quelque chose qui est foncé
dans l’image. Le terme de « seuillage » désigne la définition d’un seuil au-
dessus ou au-dessous du quel on va garder certaines valeurs de niveaus de gris.
I.8.Espace de couleurs :
img=imread ('pout.tif');
figure;imshow (img);
%colormap (bone)
Colormap (copper)
%colormap (pink)
%colormap (white)
11
Traitement D’image
Remarque : on lit une image « pout » colorée.
12
Traitement D’image
I.9.Introduire AWGN dans une image :
img1=double (imread ('pout.tif'))/255;
img1=img1+0.3*randn (size (img1));
figure (1);imshow (img1);
Interprétation : on visualise l’image de format « pout » avec le bruit blanc
gaussien additif.
13
Traitement D’image
I.10.Transformer de fourier
close all ;
img=imread ('pout.tif');
img=im2double (img);
figure;subplot (1,3,1);imshow(img)
fourier=fft2 (img);
subplot (1,3,2);imshow(real(fourier));
subplot (1,3,3);imshow(imag(fourier));
retour=ifft2 (fourier);
figure;imshow (real(retour));
fourier (1:200,1:250)=0;
retour=ifft2 (fourier);
figure;imshow (real(retour));
imgresult=abs (retour-img);
figure;mesh (imgresult);
14
Traitement D’image
15
Traitement D’image
Remarque : Faire afficher un multiple de l’image (le double), puis de s’afficher
la transformation de fourier d’une image.
i=imread ('pout.tif');
figure(1):imshow (i)
figure(2);imhist (i)
16
Traitement D’image
1600
1400
1200
1000
800
600
400
200
0 50 100 150 200 250
Interprétation : Afficher l’image avec sa histogramme.
i=imread ('rice.png');
imshow (i)
figure;
imhist (i)
17
Traitement D’image
1000
900
800
700
600
500
400
300
200
100
0 50 100 150 200 250
Interprétation : on visualise l’image « rice » au format ’png’ puis sa
histogramme avec une excellente séparation antre les choses qui sont clairs ou
bien foncées.
img=imread ('pout.tif');
imhist (img);
1600
1400
1200
1000
800
600
400
200
0 50 100 150 200 250
18
Traitement D’image
j=histeq (i);
%display the contraste-adjusted image and its new histogram
figure
subplot (1,2,1)
imshow (j)
subplot (1,2,2)
imhist (j,64)
2500
2000
1500
1000
500
0 100 200
Interprétation : on peut avoir l’image au format ‘png’ avec une nouvelle
histogramme (niveau de gris).
19