ISI2GTR - Home



Section?: 2ème ING (GLSI & GTR)Module?: Traitement d’imagesTP/TD n°1Exercice N°1Soit l’image TP1_i1.jpg.S’agit-il d’une image couleur ou d’une image à niveau de gris?C’est une image à niveau de gris. On peut le prouver à travers les commandes?: Size ou whos…Ecrire la fonction Matlab qui permet de calculer l’histogramme au niveau de gris de cette image.Histogramme sous matlabhisto = imhist(img,256);? figure;plot(histo); Histogramme.mfunction H=Histogramme(img)[h,w]=size(img);H=zeros(256); for i=1:h for j=1:wH(double(img(i,j)))=H(double(img(i,j)))+1; end endfigure;plot(H);Quelles informations pouvez-vous dégager à partir de l’histogramme??L’image présente un défaut majeur, lequel??Image à faible contraste Afin d’améliorer la qualité de cette image, deux traitements sont applicables. Lesquels??1. Egalisation de l’histogramme?; 2. Recadrage de la dynamique 6. Quelle est la différence entre eux?? Donner les codes Matlab qui correspondent à chacun de ces deux traitements?Le rehaussement du contraste est plus marqué avec l’égalisation de l’histogramme autorisant la détection des structures situées dans l’ombre.RecadrageDynamique.mI=imread(’TP1_i1.jpg’);[h,w]=size(I);IMin=double(min(I(:))); IMax=double(max(I(:))); a=0; b=255;Alpha=(a-b)/(IMin-IMax); Beta=a-(Alpha*IMin); for k=1:256 LUT(k)=uint8(round(Alpha*(k-1)+Beta)); end IR=uint8(zeros(h,w));for i=1:hfor j=1:wIR(i,j)=uint8(LUT(double(I(i,j))+1));endendfigure;imshow(IR)EgalisationHistogramme.m[h,w]=size(I);HC(1)=H(1);for k=2:256HC(k)=HC(k-1)+H(k); %% histogramme cumuléend Alpha=255/HC(256); %% c equivalent à 255/(h*w)for k=1:256 LUT(k)=uint8(round(Alpha*HC(k))); end IE=uint8(zeros(h,w));for i=1:hfor j=1:wIE(i,j)=uint8(LUT(double(I(i,j))+1));endendfigure; imshow(IE);Exercice?N°2Soit l’image TP1_i2.jpg.Quel est le type de bruit présent sur cette image?? Donner le code Matlab qui permet d’injecter ce type de bruit.Bruit sel et poivreJ = imnoise(I,'salt & pepper'); % Ajout du bruit à l’image.BruitSelpoivre.mfunction IB=BruitSelpoivre(I)[h,w]=size(I); IB=I; for i=1:h for j=1:w r=round(rand(1)*10); if r==0 IB(i,j)=0; else if r==10 IB(i,j)=255; end end end end Afin de remédier à ce problème, deux filtres seront appliqués?: le filtre Moyenneur et le filtre Median.Donner les codes Matlab qui correspondent à chacun de ces deux filtres.MoyenneurK = filter2(fspecial('average',3),imgg)/255;function IF=FMoyenneur(I) M = (1/9)*[1 1 1; 1 1 1; 1 1 1]; % [1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9][h,w]=size(I);IF=uint8(zeros(h,w));for i=2:h-1 for j=2:w-1som=0;for k=-1:1 for l=-1:1 som=som+(double(I(i+k,j+l))*M(k+2,l+2)); end end IF(i,j)=uint8(round(som)); end end Filtre Median sous Matlab: L = medfilt2(J);FMedian.mfunction IF=FMedian(I) M=uint8(zeros(3,3)); [h,w]=size(I); IF=uint8(zeros(h,w)); for i=2:h-1 for j=2:w-1 for k=-1:1 for l=-1:1 M(k+2,l+2)=I(i+k,j+l);end end IF(i,j)=uint8(median(M(:))); end end Tester les deux filtres. Le problème est-il résolu?? Interpréter les résultats obtenus. Le filtrage Moyenneur permet de lisser l’image (Obtenir une image floue)Le filtrage Median supprime le bruit Sel et poivre ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download