6
RÉALISÉ PAR : *BENMALEK IMEN *LAHMAR ASMA 07 avril 2011 Traitement d’images avec MATLAB TP N°1

Le Compte Rendu Du TP-Nouveau

Embed Size (px)

Citation preview

Page 1: Le Compte Rendu Du TP-Nouveau

RÉALISÉ PAR : *BENMALEK IMEN *LAHMAR ASMA

07 avril 2011

Traitement d’images avec MATLAB

TP N°1

Page 2: Le Compte Rendu Du TP-Nouveau

1

Traitement d’images avec MATLAB | 07/04/2011

Traitement d’images avec MATLABTraitement d’images avec MATLABTraitement d’images avec MATLABTraitement d’images avec MATLAB

TP N°1

PLAN DU TRAVAIL

Introduction Sous échantillonnage d’images

� Ecrire un programme sous Mtlab effectuant les opérations suivantes :

• Lecture d’une image de taille N*N • Sous échantillonnage de l’image en (N/2n, N/2n) n=1,

2, 3

• Affichage de l’image résultat (image sous échantillonnée)

Manipulation d’histogramme � Ecrire un programme sous Matlab effectuant une

expansion dynamique :

• Lecture d’une image de taille N*N

• Calcul de l’histogramme

• Expansion dynamique • Affichage de l’image résultat (image sous

échantillonnée) � Ecrire un programme en langage MATLAB effectuant une

égalisation d’histogramme

Page 3: Le Compte Rendu Du TP-Nouveau

2

Traitement d’images avec MATLAB | 07/04/2011

Introduction :

Le traitement d’images sous Matlab est pour présenter la notion d’image et effectuer des opérations simples d’analyse d’images telles que la détection de contours, le changement d’espace de couleur… le traitement d’images est un thème de recherche situé entre l’informatique et le traitement du signal.

Sous échantillonnage d’images :

clc; clear all ; a=imread( 'C:\Users\acer\Desktop\Image37.jpg' ); subplot(2,2,1) imshow(a); for N=1:3 se=a(1:2^N:end,1:2^N:end) subplot(2,2,N+1) imshow(se) end

Page 4: Le Compte Rendu Du TP-Nouveau

3

Traitement d’images avec MATLAB | 07/04/2011

Manipulation d’histogramme :

clc; clear all ; a=imread( 'C:\Users\acer\Desktop\Image37.jpg' ); subplot(3,2,1) imshow(a); k=0; [nl,nc]=size(a); for h=1:256 for i=1:nl for j=1:nc if a(i,j)==h-1 k=k+1; end end end l(h)=k; k=0; end subplot(3,2,2) bar(l) Ou tout simplement on utilise le programme suivant: clc; clear all ; a=imread( 'C:\Users\acer\Desktop\Image37.jpg' ); subplot(1,2,1) imshow(a);title( 'original' ) subplot(1,2,2) imhist(a);title( 'Histogramme' )

Page 5: Le Compte Rendu Du TP-Nouveau

4

Traitement d’images avec MATLAB | 07/04/2011

L’expansion dynamique :

clc; clear all ; a=imread( 'C:\Users\acer\Desktop\Image37.jpg' ); subplot(2,2,1) imshow(a);title( 'original' ) subplot(2,2,2) imhist(a);title( 'Histogramme' ) a=im2double(a(:,:,1)); [nl,nc]=size(a); a0=min(min(a)); a1=max(max(a)); amin=0; amax=255; alpha=((amin*a1)-(amax*a0))/(a1-a0); B=(amax-amin)/(a1-a0); for i=1:nl, for j=1:nc, h(i,j)=alpha+(B*a(i,j)); end ; end ; hh=mat2gray(h); subplot(2,2,3) imshow(hh);title( 'expansion dynamique' ) subplot(2,2,4) imhist(hh);title( 'Histogramme de lexpansion' )

Page 6: Le Compte Rendu Du TP-Nouveau

5

Traitement d’images avec MATLAB | 07/04/2011

L’égalisation d’histogramme :

clc; clear all ; nl=2; nc=2; a=imread( 'C:\Users\acer\Desktop\Image37.jpg' ); subplot(2,2,1) imshow(a);title( 'original' ) subplot(2,2,2) imhist(a);title( 'Histogramme' ) J=histeq(a); subplot(2,2,3) imshow(J);title( 'image égalisé' ) subplot(2,2,4) imhist(J) ;title( 'Histogramme égalisé' )