Vous êtes sur la page 1sur 19

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