rapport de traitement d'image
TRANSCRIPT
-
8/3/2019 Rapport de Traitement d'Image
1/22
Encadrer par : MR BENSLIMANE
Raliser par : Fechtali El Mehdi
Anne : 2011-2012
-
8/3/2019 Rapport de Traitement d'Image
2/22
Plan
I- IntroductionII-
III- Filtrage
IV- Conclusion
-
8/3/2019 Rapport de Traitement d'Image
3/22
I Introduction
Avec la parole,limage constitue lun des moyens les plus importants quutilise
lhomme pour communiquer avec autrui. Cest un moyen de communicationuniversel dont la richesse du contenu permet aux tres humains de tout ge et detoute culture de se comprendre.
Cest aussi le moyen le plus efficace pour communiquer, chacun peut analyserlimage sa manire, pour en dgager une impression et den extraire desinformations prcises.
De ce fait, le traitement dimages est lensemble des mthodes et techniques
oprant sur celles-ci, dans le but de rendre cette opration possible, plus simple, plus efficace et plus agrable, damliorer laspect visuel de limage et den extrairedes informations juges pertinentes.
1-Dfinition :
III- Filtrage Qu'est-ce qu'un filtre ?
Un filtre est une transformation mathmatique (appele produit de convolution)permettant, pour chaque pixel de la zone laquelle il s'applique, de modifier savaleur en fonction des valeurs des pixels avoisinants, affectes de coefficients.
Le filtre est reprsent par un tableau (matrice), caractris par ses dimensions etses coefficients, dont le centre correspond au pixel concern. Les coefficients dutableau dterminent les proprits du filtre. Voici un exemple de filtre 3 x 3 :
1 1 1
1 4 1
1 1 1
Ainsi le produit de la matrice image, gnralement trs grande car reprsentantl'image initiale (tableau de pixels) par le filtre donne une matrice correspondant l'image traite.
-
8/3/2019 Rapport de Traitement d'Image
4/22
Notion de bruit
Le bruit caractrise les parasites ou interfrences d'un signal, c'est--dire les partiesdu signal dformes localement. Ainsi le bruit d'une image dsigne les pixels del'image dont l'intensit est trs diffrente de celles des pixels voisins.
Le bruit peut provenir de diffrentes causes :
Environnement lors de l'acquisition
Qualit du capteur
Qualit de l'chantillonnage
Le bruit impulsif , aussi appelbruit poivre et sel , est une dgradation de l'image ocertains pixels deviennent alatoirement soit blancs, soit noirs. On supposegnralement que la probabilit qu'un pixel devienne blanc (resp. noir) estconstante sur l'image, et que le devenir de chaque pixel est indpendant de celui desautres.
Contrairement au lissage linaire, le filtre mdian est bien adapt au filtrage dubruit impulsif. Il s'appliquera aussi pour liminer des griffes dans une image. C'estce que nous illustrons dans les exemples ci-dessous. On remarquera que le filtremdian de fentre 5 5 peut liminer certains dtails qui seront prservs par celui
de fentre 3 3, mais que ce dernier laisse subsister unepartie du bruit, qui ncessiterapour tre enlev, une 2me, voire une 3me application du filtre.
Lissage
On appelle "lissage" (parfois dbruitage ou filtre anti-bruit) l'opration de filtragevisant liminer le bruit d'une image.
L'opration de lissage spcifique consistant attnuer l'effet d'escalier produit parles pixels en bordure d'une forme gomtrique est appele anti-crnelage (en
anglais anti-aliasing). Accentuation
L'accentuation (ou bruitage) est l'inverse du lissage; il s'agit d'une opration visant accentuer les diffrences entre les pixels voisins.
Ainsi l'accentuation peut permettre de mettre en exergue les limites entre les zoneshomognes de l'image et est alors appele extraction de contours (galementcontourage ou rhaussement de contours).
-
8/3/2019 Rapport de Traitement d'Image
5/22
Tramage
Le tramage (en anglais dithering ou halftoning) est une technique consistant alterner des motifs gomtriques utilisant peu de couleur, appels "trame", afin desimuler une couleur plus labore
Les diffrents types de filtrage
Filtre Directionnel
Rehausse les caractristiques suivant une direction donne .On appelle filtrage Adaptatif lesoprations de filtrage possdant une tape pralable de slection des pixels.
-1 0 -10 5 0-1 0 -1
Programme Matlab
ima1=imread( 'eight.tif' ) ; figure(1); imshow(ima1); ima=double(ima1); ima=double(imnoise(ima1, 'gaussian' ,0.001)); figure(3);
imshow(uint8(ima)); [M,N]=size(ima1); for i=2:M-1
for j=2:N-1
indice=5; mind=255; for k=1:4
d(k)= abs(m(k)-ima(i,j)); if (d(k)
-
8/3/2019 Rapport de Traitement d'Image
6/22
Resultat
Filtre inverse
Linvariance par retournement temporel ntant plus vrifie, Mickael Tanter agnralis pendant sa thse une mthode de filtre inverse propose par E. Ebini enhyperthermie ultrasonore. Il sagit doptimiser les signaux mettre sur chacun destransducteurs pour raliser sur un ensemble de points de contrle un profil spatio-temporel donn.
loprateur linaire permettant de relier les M transducteurs de lantenne utilise un ensemble J de points de contrle situs dans le milieu tudi. Cet Oprateur depropagation permet de dfinir une relation linaire entre les signaux( ), 1 je t j J
mis par lantenne et les signaux ( )m f t reus au niveau des points de contrle.
1
( ) ( ) ( ) M
m mj jt j
f t h t e t
o t reprsente lopration de convolution temporelle. Dans cette quation,lensemble des fonctions ( )m f t reprsente les paramtres, cest dire les signauxque lon souhaite obtenir au niveau des chacun des points de contrle, et le jeudessignaux mettre ( ) je t les inconnues du problme.
Il y a plusieurs types de filtrage inverse :
Filtrage inverse spatial: consiste considrer que loprateur depropagation, tel que dcrit prcdemment, possde un certain nombre de
-
8/3/2019 Rapport de Traitement d'Image
7/22
degrs de liberts, li la disposition des transducteurs et auxcaractristiques physiques du milieu de propagation
Filtre Inverse Spatio-temporel
Programme Matlab
ima1=imread( 'rice.png' ); figure(1); imshow(ima1); [m,n]=size(ima1); %ima= double(ima1);
for i=1:m for j=1:n
% ima(i,j)=255-ima1(i,j);
ima1(i,j)=255-ima1(i,j); end
end %figure(2); %imshow(ima); figure(3); imshow(ima1);
Resultat :
-
8/3/2019 Rapport de Traitement d'Image
8/22
Le filtre slectif
Programme Matlab
ima = imread( 'cameraman.tif' ) ; figure(1);imshow(ima); [M,N] = size(ima); ima=imnoise(ima, 'gaussian' ,0.001); ima1 = double(ima); NV = 1; K=5; for i = 1+NV : M-NV
for j = 1+NV : N-NV l = 0 ;imaR(i,j)=0; for i0 = i-NV : i+NV
for j0 = j-NV : j+NV l = l+1 ; a(l) = ima1(i0,j0); diff(l) = abs(a(l) - ima1(i,j));
end end [diffsort,indicesort] = sort(diff); for t = 1:K
imaR(i,j)=imaR(i,j)+a(indicesort(t)); end imaR(i,j)=imaR(i,j)/K;
end end figure(2);
imshow(uint8(imaR));
Resultat
-
8/3/2019 Rapport de Traitement d'Image
9/22
-
8/3/2019 Rapport de Traitement d'Image
10/22
-
8/3/2019 Rapport de Traitement d'Image
11/22
coupure du filtre est la frquence sparant les deux modes de fonctionnementidaux du filtre : passant ou bloquant.
Il existe 3 types du filtre passe-bas :
Filtre passe-bas analogique Il est ralis l'aide d'un agencement decomposantes physiques(rsistance,condensateur,inductance,transistor, etc.) . IL est son tour divis en trois types de filtre
Filtre passe-bas du premier ordre
Filtre passe-bas du second ordre
Filtre dordre suprieur
Filtre passe-bas numrique : un lment qui effectue un filtrage l'aided'une succession d'oprations mathmatiques sur un signal discret. C'est--dire qu'il modifie le contenu spectral du signal d'entre en attnuant ouliminant certaines composantes spectrales indsires. Il est ralis soit pardes circuits intgrs ddis, des processeurs programmables (FPGA, microprocesseur,DSP, microcontrleur,etc.), soit par logiciel dans unordinateur.
Programme Matlab
ima1=imread( 'cameraman.tif' ); figure(1); imshow(ima1); ima2=double(ima1); [M,N]=size(ima1); NV=2; ima=imnoise(ima1, 'gaussian' ,0.001); imaR=colfilt(ima,[2*NV+1,2*NV+1], 'sliding' , 'mean' ); figure(2); imshow(uint8(imaR));
Resultat
http://fr.wikipedia.org/wiki/R%C3%A9sistance_%28%C3%A9lectricit%C3%A9%29http://fr.wikipedia.org/wiki/Condensateur_%28%C3%A9lectricit%C3%A9%29http://fr.wikipedia.org/wiki/Inductancehttp://fr.wikipedia.org/wiki/Transistorhttp://fr.wikipedia.org/wiki/FPGAhttp://fr.wikipedia.org/wiki/Microprocesseurhttp://fr.wikipedia.org/wiki/Processeur_de_signal_num%C3%A9riquehttp://fr.wikipedia.org/wiki/Microcontr%C3%B4leurhttp://fr.wikipedia.org/wiki/Microcontr%C3%B4leurhttp://fr.wikipedia.org/wiki/Processeur_de_signal_num%C3%A9riquehttp://fr.wikipedia.org/wiki/Microprocesseurhttp://fr.wikipedia.org/wiki/FPGAhttp://fr.wikipedia.org/wiki/Transistorhttp://fr.wikipedia.org/wiki/Inductancehttp://fr.wikipedia.org/wiki/Condensateur_%28%C3%A9lectricit%C3%A9%29http://fr.wikipedia.org/wiki/R%C3%A9sistance_%28%C3%A9lectricit%C3%A9%29 -
8/3/2019 Rapport de Traitement d'Image
12/22
Filtre moyenneurs slectif
Les filtres de type moyenneur fournissent une base pour le calcul des statistiques
locales et peuvent tre modliss par des noyaux des statistiques locales.Leprincipe du filtre consiste slectionner localement le filtre
le plus adapt, en fonction de la nature du pixel dtermine par loprateur dedtection de contour Edg[u] (qui vaut 1 sur les contours et 0 sinon) . Le basculement entre les deux filtres est modlis conformment lide introduite par Alvarez et al grce au noyau des statistiques locales _Tot[u; t]
il y a plusieurs types de filtres moyenneur
Le masque du filtre moyenneur slectif dfini par Asano et al dans [2]slectionne les pixels dont le contraste est infrieur la discontinuit. Parconsquent, ce filtre rhausse correctement les contours mais le lissage peutsavrer insuffisant dans les zones homognes, ce qui est gnralementconfirm par les tests. Il sera utilis pour les pixels de contours.
Le masque du filtre moyenneur adaptatif dcrit par Po-malaza-Raes et aldans [12] [5] ne prend en compte que les pixels dont le contraste est infrieur un seuil dpendant de la variance du bruit. Le filtre effectue un bon lissagedans les zones homognes mais introduit parfois quelques distorsions proximit des contours. Il sera utilis pour les pixels de zone homogne.
Programme MAtlab
ima1=imread( 'cameraman.tif' ); figure(1); imshow(ima1); ima2=double(ima1); [M,N]=size(ima1); NV=2; ima=imnoise(ima1, 'gaussian' ,0.001); imaR=colfilt(ima,[2*NV+1,2*NV+1], 'sliding' , 'mean' );
figure(2); imshow(uint8(imaR));
s=10; for i=1:M
for j=1:N d=abs(double(ima(i,j))-double(imaR(i,j))); if (d
-
8/3/2019 Rapport de Traitement d'Image
13/22
Resultat
Filtre adaptatif de Frost
Un filtre adaptatif qui corrige le bruit multiplicatif. Le filtre value la valeurdu pixel rsultant en utilisant une sous-fentre de la fentre de traitement.
Filtre qui modifie une image, pixel par pixel, en fonction des paramtres de brillance proximit de chaque pixel de limage dorigine.
-
8/3/2019 Rapport de Traitement d'Image
14/22
Explication :
mesure quun filtre examine une image pixel par pixel, il modifie la brillancedun pixel particulier en fonction du voisinage de ce pixel (Graphique 1). Cevoisinage est appel fentre et peut souvent tre command par lutilisateur. Il ya plusieurs paramtres commander, selon le filtre. Souvent, la taille de la fentreet les valeurs de pondration des pixels lintrieur de la fentre peuvent trergles par lutilisateur. Plus la fentre est grande, plus leffet de lissage du filtre estgrand. Des facteurs de pondration attribus aux pixels lintrieur de la fentrepeuvent rehausser des aspects diffrents des pixels plus proches du pixel central oupeut-tre rendre le filtre directionnel en distribuant les facteurs de pondration defaon asymtrique.
Des filtres adaptatifs appliqus des images radar sont conus pour rduire le
chatoiement tout en conservant les contours (Graphique 2) (variations de contrastevif). Pour limagerie radar, les statistiques de chatoiement sont trs diffrentes decelles de limagerie optique, et lalgorithme du filtre tablit ses propres paramtresde fentre, normalement une combinaison linaire de la valeur observe du pixel etde la moyenne des valeurs des pixels de la fentre. Les pondrations sont unefonction de la mesure dhtrognit de la scne locale. Le principal avantage desfiltres adaptatifs a ppliqus aux images radar est quils peuvent produire unevaluation prcise du coefficient de rtrodiffusion lintrieur de zoneshomognes, tout en conservant la structure des contours et de la texture dans leszones htrognes.
Des exemples de filtres adaptatifs sont les filtres mdian, passe-haut, passe-bas,gamma, le filtre de Lee, le filtre de Frost et le filtre de Touzi.
Programme Matlabima1=imread( 'rice.tif' );k=10; figure(1);imshow(ima1); NV=3; tvd=2*NV+1; tv=tvd^2; CVmin=0.52/sqrt(tvd); CVmax=6*CVmin; [M,N]=size(ima1); %ima2=imnoise(ima1,'gaussian',0,0.005);
ima=double(ima1); imaM=colfilt(ima,[tvd tvd], 'sliding' , 'mean' ); for i=1+NV:M-NV
for j=1+NV:N-NV
sigma=0; imaR(i,j)=0; for i0=i-NV:i+NV
for j0=j-NV:j+NV
sigma=sigma +(ima(i0,j0)-imaM(i,j))^2;
-
8/3/2019 Rapport de Traitement d'Image
15/22
end end
sigma=sqrt(sigma/tv); CV=sigma/imaM(i,j);
if CVCVmax imaR(i,j)=ima(i,j);
else func=(CV-CVmin)/(CVmax-CV);
for i0=i-NV:i+NV for j0=j-NV:j+NV
imaR(i,j)=imaR(i,j)+exp(-sqrt(i0^2+j0^2)*k*func); end
end
end end
end end figure(3); imshow(uint8(imaR));
Resultat
-
8/3/2019 Rapport de Traitement d'Image
16/22
Mthode de Gordon
Mise au point par le docteur Thomas Gordon, aux Etats-Unis, dans les annes1950, cette approche se retrouve dans la dmarche de la Communication dite non-violente (C.N.V.), et peut faire rfrence aux besoins de MASLOW.
Rsum du concept :
La mthode est base sur un postulat simple : celui de la satisfaction mutuelle des besoins . En effet, si jai un problme que je ne peux pas exprimer, ou si lautre un problme non-exprim, ou que je ne lcoute pas, nous ne pourrons pas avoir une vraie communication.
Le principe va donc tre :
De provoquer la confrontation des besoins. Les besoins peuvent tre dordrefactuel ou dordre motionnel.
Dviter les messages risques qui sont de douze types : ordre, menace,morale, sermon, conseil, critique, flatterie, apaisement, analyse, jugement,question et ironie.
Programme Matlab
ima=imread( 'rice.png' ); img=double(ima); [m,n]=size(ima); imr=zeros(m,n); k=4.23; for i=3:m-2
for j=3:n-2 mij=0;pij=0 for i0=i-1:i+1
for j0=j-1:j+1 mij=mij+img(i0,j0);
end end mij=mij/9;
for i0=i-2:i+2 for j0=j-2:j+2
pij=pij+img(i0,j0); end
end pij=pij/25; cij=abs(mij-pij)/(mij+pij); cpij=1-exp(-k*cij); if (mij>pij) s=1; else s=-1;
imr(i,j)=mij*(1+s*cpij)/(1-s*cpij); end
end end
figure(1); imshow(ima);
-
8/3/2019 Rapport de Traitement d'Image
17/22
figure(2); imshow(imr);
Resultat
Mthode de Bagdadi
ima1=imread( 'coins.png' ); figure(1); %l'image de l'entree imshow(ima1); [m,n]=size(ima1); ima=double(ima1); k=0,7; for i=3:m-2
for j=3:n-2 num=0; den=0; for k=i-1:i+1
for l=j-1 : j+1 mkl=0; for i0=k-1:k+1
for j0=l-1:l+1 mkl=mkl+ima(i0,j0);
end end
mkl=mkl/9; dkl=abs(ima(k,l)-mkl); num=num+ dkl * ima(k,l); den=den+dkl; end
end mpij=num/den; cij=abs(mpij -ima(i,j))/(mpij+ima(i,j)); cpij=1-exp(-a*cij); if ima(i,j)>mpij s=1; else s=-1;
g(i,j)=ima(i,j)*[(1+s*cpij)/(1-cpij)];
end end end
-
8/3/2019 Rapport de Traitement d'Image
18/22
figure(2); imshow(uint8(g));
Resultat
Assombrissement
Programme Matlab
ima1=imread( 'rice.png' ); figure(1); imshow(ima1); [m,n]=size(ima1); for i=1:m
for j=1:n
ima1(i,j)=ima1(i,j)-50;
end end figure(2); imshow(ima1);
Resultat
-
8/3/2019 Rapport de Traitement d'Image
19/22
Filtre Median
Le filtre mdian est un filtre spatial qui calcule en chaque pixel la mdiane desniveaux de gris des pixels de sa fentre, ce qui donnera le niveau de gris du pixel
dans l'image filtre. Plus prsisment, pour tout pixel p , soit W(p) la fentreassocie p ; on suppose que sa taille | W(p)| est impaire(c'est ainsi le cas pour une fentre centre en p , par exemple une fentre 3 3 ou 5 5). Etant donneune image I niveaux de gris, le filtre mdian transformera I en une image J niveaux de gris, telle que pour tout pixel p , le niveau de gris J(p) est la mdiane desniveaux de gris I(q) des pixels q dans la fentre W(p) :
J ( p) = med ( I (q) | q dansW ( p)) .
Notons que ce calcul de J ( p) se fait enparallle,en d'autres termes le calcul en unpixel p n'influe pas sur le calcul en un pixel voisinq.
Pour comprendre le fonctionnement du filtre mdian, on applique le principe dedichotomie . Soits une intensit qu'on prendra comme seuil ; alors la mdiane den variables x1, ..., xn (n impair) sera s si et seulement si la majorit de cesn variables est s. Donc si on appelle "clairs" les niveaux de griss, et "sombres"ceux
-
8/3/2019 Rapport de Traitement d'Image
20/22
-
8/3/2019 Rapport de Traitement d'Image
21/22
Programme Matlab
ima1=imread( 'eight.tif' ) ; figure(1); imshow(ima1); ima=double(ima1); ima=double(imnoise(ima1, 'salt & pepper' ,0.01)); figure(3); imshow(uint8(ima)); [M,N]=size(ima1); for i=2:M-1
for j=2:N-1 k=0; for i0=i-1:i+1
for j0=j-1:j+1 k=k+1; a(k)=ima(i0,j0);
end
end [atrier,indicet]=sort(a); imaR(i,j)=atrier(5);
end end figure(2); imshow(uint8(imaR));
Resultat
-
8/3/2019 Rapport de Traitement d'Image
22/22
Conclusion
La reprsentation des images fixes est un des lments essentiels des
applications mutimdias, comme dans la plupart des systmes de communication.
La manipulation des images pose cependant des problmes beaucoup pluscomplexes que celle du texte.En effet,limage est un objet deux dimensions , censreprsenter un espace trois dimensions , ce qui a deux consquences majeures :
Le volume des donnes traiter est beaucoup plus important
La structure de ces donnes est nettement plus complexe
Il en rsulte que la manipulation, le stockage et la reprsentation des donnes seheurtent certaines limitations.
Grce au traitement dimag e ,ces contraintes sont leves ou contournes. En effet ,ce domaine cherche dtecter la prsence de certaines formes, certains contoursou certaines textures dun modle connu , cest le problme de la dtection.
Un autre aspect de traitement dimage concerne lanalyse et la comprhension delimage dans le but den extraire des informations utiles. Il cherche aussi parfois comprimer limage afin de gagner en vitesse lors de la transmission delinformation , et en capacit de stockage , tout en dgrad ant le moins possible lesimages considres .