View
742
Download
13
Category
Preview:
Citation preview
RÉALISÉ PAR : *BENMALEK IMEN *LAHMAR ASMA
07 avril 2011
Traitement d’images avec MATLAB
TP N°1
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
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
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' )
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' )
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é' )
Recommended