Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

devoir traitement d'images

1,205 views

Published on

matlab

Published in: Education
  • DOWNLOAD FULL BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

devoir traitement d'images

  1. 1. Master : EEST Réalisé par: Encadré par: Pr.Youssef EL merabet EL ANZA BOUSSELHA EL BADRI IBRAHIM Année Universitaire : 2015-2016 RAPPORT DU TP DU TRAITEMENT D’IMAGE
  2. 2. Egalisation d’histogramme : Pour généraliser l’égalisation l’histogramme au cas d’une image couleur il faut respecter les quatre étapes suivantes : 1. Calcule de l’intensité de l’image couleur I=(R+V+B)/3. 2. Calcule de l’histogramme de I. 3. Calcule de l’histogramme cumulé de I. 4. l’égalisation de l’histogramme dans chaque l’image couleur ? le programme de l’égalisation une image couleur est : function C=egalisationcouleur(I); [w,h,c]=size(I); if c==3 R=I(:,:,1); G=I(:,:,2); B=I(:,:,3); I=(R+G+B)./3; end J=double(I); H=zeros(256); HC=zeros(256); % on peut utilisetr taille=numel(I) for m=1:w for n= 1:h val=J(m,n); H(val+1)=H(val+1)+1; end end % calcul de l'histogramme cumulé HC(1)=H(1); for m= 2:256 HC(m)=(HC(m-1)+H(m)); end %transformtion de l'image for m= 1:w for n= 1:h val = R(m,n); C1(m,n)=255*HC(val+1)/(w*h); end end for m= 1:w for n= 1:h val = G(m,n);
  3. 3. C2(m,n)=255*HC(val+1)/(w*h); end end for m= 1:w for n= 1:h val = B(m,n); C3(m,n)=255*HC(val+1)/(w*h); end end C=cat(3,C1,C2,C3); C=uint8(C); end
  4. 4. 3 :: Implémenter la fonction Ngauss qui retourne le noyau gaussian dont la taille et la valeur de sigma sont passées en entrée. function [J] = Ngauss(I,sigma,taille) switch taille case 1 disp('taille 3*3'); [x,y]=meshgrid(-1:1,-1:1); case 2 disp('taille 5*5'); [x,y]=meshgrid(-2:2,-2:2); case 3 disp('taille 7*7'); [x,y]=meshgrid(-3:3,-3:3); end G=(1/(2*pi*(sigma)^2))*exp(-(x.^2+y.^2)/(2*sigma^2)); J=imfilter(I,G); J=uint8(J); imshow(J); end I=imread(‘lena.bmp'); J = imnoise(I,'gaussian'); subplot(1,2,1);imshow(I);title('imageoriginal'); subplot(1,2,2);imshow(J);title('imagebruité');
  5. 5. I=imread(‘lena.bmp'); T1S1 = Ngauss(I,0.5,1); T1S2 = Ngauss(I,1.0,1); T1S3 = Ngauss(I,1.5,1); figure ;subplot(1,3,1); imshow(T1S1);title('T 3*3 S 0.5'); subplot(1,3,2); imshow(T1S2);title('T 3*3 S 1.0'); subplot(1,3,3);imshow(T1S3);title('T 3*3 S 1.5'); I=imread('lena.bmp'); T2S1 = Ngauss(I,0.5,2); T2S2 = Ngauss(I,1.0,2); T2S3 = Ngauss(I,1.5,2); figure;subplot(1,3,1); imshow(T2S1);title('T 5*5 S 0.5'); subplot(1,3,2); imshow(T2S2);title('T 5*5 S 1.0'); subplot(1,3,3);imshow(T2S3);title('T 5*5 S 1.5');
  6. 6. I=imread('lena.bmp'); T3S1 = Ngauss(I,0.5,3); T3S2 = Ngauss(I,1.0,3); T3S3 = Ngauss(I,1.5,3); figure;subplot(1,3,1); imshow(T3S1);title('T 7*7 S 0.5'); subplot(1,3,2); imshow(T3S2);title('T 7*7 S 1.0'); subplot(1,3,3); imshow(T3S3);title('T 7*7 S 1.5'); D’après ces image on remarque que plus on augmenté sigma plus l’image devient flou
  7. 7. La détection de contours avec sobel et prewitt : function g= contours(I,operateur,direction) J=double(I); switch operateur case 'sobel' Sx=[-1 -2 -1 ;0 0 0;1 2 1]; Sy=Sx'; case 'prewitt' Sx=[-1 -1 -1 ;0 0 0;1 1 1]; Sy=Sx'; end switch direction case 'horizental' g=filter(J,Sx); case 'vertical' g=filter(J,Sy); case 'Both' Gx=filter(J,Sx); Gy=filter(J,Sy); g=sqrt(Gx.^2+Gy.^2); end g=uint8(g); imshow(g); function k=filter(f,o) [w,h]=size(f); k=zeros(w,h); for l=2:w-1 for c=2:h-1 K=o.*f(l-1:l+1,c-1:c+1); k(l,c)=sum(K(:)); end end end end
  8. 8. l’appelle de fonction : I=imread(‘carte.bmp’); sh = contours(I,'sobel','horizental'); sv = contours(I,'sobel','vertical'); sb = contours(I,'sobel','Both'); subplot(1,3,1);imshow(sh);title('sobelhorizental'); subplot(1,3,2);imshow(sv);title('sobelvertical'); subplot(1,3,3);imshow(sb);title('sobel both'); I=imread(‘carte.bmp’); sh = contours(I,'prewitt','horizental'); sv = contours(I,'prewitt','vertical'); sb = contours(I,'prewitt','Both'); subplot(1,3,1);imshow(sh);title('prewitthorizental'); subplot(1,3,2);imshow(sv);title('prewittvertical'); subplot(1,3,3);imshow(sb);title('prewitt both');
  9. 9. EXERCICE 3 : segmentation par croissance de régions (L P E) Image I 3 6 5 6 4 6 5 3 4 2 1 6 4 101 100 103 5 3 4 3 2 1 4 3 102 102 102 4 2 3 2 1 3 5 5 99 101 103 4 4 3 4 5 5 4 6 103 104 105 3 4 216 213 210 209 5 3 4 6 5 3 7 214 212 214 100 1 4 2 0 0 5 216 209 211 209 102 0 2 3 2 3 6 212 211 210 213 99 2 4 3 1 3 4 216 206 215 214 99 1 1 2 1 2 6 207 206 213 214 102 1)-segmenter limage I en utilisant G2 et G1 comme image de gradient Image G2 Image G1  Croissance de régions pour G1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 1 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3 1 1 1 1 1 1 3 3 3 3 3
  10. 10.  les minima locaux et les germes de l’images G2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  Croissance de régions pour image G2 : 4 4 4 4 4 1 1 1 1 1 1 4 4 2 2 2 1 1 1 1 1 1 4 4 2 2 2 1 1 1 1 1 1 4 4 2 2 2 1 1 1 1 1 1 4 4 2 2 2 4 4 3 1 1 1 4 4 4 4 4 4 4 3 3 1 1 4 4 4 4 4 4 3 3 3 1 1 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 3 3 3 3 3 3) on remarque que dans ce cas on a deux images G1 et G2 on trouver 3 régions pour l’image G1 et 4 régions pour G2 4)-la méthode de vinet : D vinet(I,G1)=1-(110-Max(67,0,0)-Max(9,0,0)-Max(34,0,0))/110 D vinet (I,G2)=1-(110-Max(24,0,46,7)-Max(0,12,0,0)-max(0,0,0,21))/110 D vinet =1-(110-46-12-21)/110 Conclusion : d’après l’algorithme de Meyer l’image G1 plus segmenté a l’image G2 (car Dvinet de G1 =1 mais Dvinet G2= 0,72) D vinet(I,G1) = 1 D vinet(I ,G2)=1-0.281=0,72

×