Vous êtes sur la page 1sur 22

Encadrer par : MR BENSLIMANE Raliser par Anne : Fechtali El Mehdi : 2011-2012

Plan

I- Introduction IIIII- Filtrage IVConclusion

I Introduction
Avec la parole, limage constitue lun des moyens les plus importants quutilise
lhomme pour communiquer avec autrui. Cest un moyen de communication universel dont la richesse du contenu permet aux tres humains de tout ge et de toute culture de se comprendre. Cest aussi le moyen le plus efficace pour communiquer, chacun peut analyser limage sa manire, pour en dgager une impression et den extraire des informations 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 extraire des 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 sa valeur en fonction des valeurs des pixels avoisinants, affectes de coefficients. Le filtre est reprsent par un tableau (matrice), caractris par ses dimensions et ses coefficients, dont le centre correspond au pixel concern. Les coefficients du tableau 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 reprsentant l'image initiale (tableau de pixels) par le filtre donne une matrice correspondant l'image traite.

Notion de bruit

Le bruit caractrise les parasites ou interfrences d'un signal, c'est--dire les parties du signal dformes localement. Ainsi le bruit d'une image dsigne les pixels de l'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 appel bruit poivre et sel, est une dgradation de l'image o certains pixels deviennent alatoirement soit blancs, soit noirs. On suppose gnralement que la probabilit qu'un pixel devienne blanc (resp. noir) est constante sur l'image, et que le devenir de chaque pixel est indpendant de celui des autres. Contrairement au lissage linaire, le filtre mdian est bien adapt au filtrage du bruit impulsif. Il s'appliquera aussi pour liminer des griffes dans une image. C'est ce que nous illustrons dans les exemples ci-dessous. On remarquera que le filtre mdian de fentre 5 5 peut liminer certains dtails qui seront prservs par celui de fentre 3 3, mais que ce dernier laisse subsister une partie du bruit, qui ncessitera
pour tre enlev, une 2me, voire une 3me application du filtre. Lissage

On appelle "lissage" (parfois dbruitage ou filtre anti-bruit) l'opration de filtrage visant liminer le bruit d'une image. L'opration de lissage spcifique consistant attnuer l'effet d'escalier produit par les 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 zones homognes de l'image et est alors appele extraction de contours (galement contourage ou rhaussement de contours).

Tramage

Le tramage (en anglais dithering ou halftoning) est une technique consistant alterner des motifs gomtriques utilisant peu de couleur, appels "trame", afin de simuler une couleur plus labore
Les diffrents types de filtrage
Filtre Directionnel Rehausse les caractristiques suivant une direction donne .On appelle filtrage Adaptatif les oprations de filtrage possdant une tape pralable de slection des pixels.

-1 0 -1

0 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)<mind) mind=d(k); indice=k; end end imaR(i,j)=m(indice); end end figure(2); imshow(uint8(imaR));

Resultat

Filtre inverse

Linvariance par retournement temporel ntant plus vrifie, Mickael Tanter a gnralis pendant sa thse une mthode de filtre inverse propose par E. Ebini en hyperthermie ultrasonore. Il sagit doptimiser les signaux mettre sur chacun des transducteurs pour raliser sur un ensemble de points de contrle un profil spatiotemporel 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 de propagation permet de dfinir une relation linaire entre les signaux
e j (t ), 1 j J

mis par lantenne et les signaux f m (t ) reus au niveau des points de contrle.
f m (t ) hmj (t ) e j (t )
j 1 t M

reprsente lopration de convolution temporelle. Dans cette quation,

lensemble des fonctions f m (t ) reprsente les paramtres, cest dire les signaux que lon souhaite obtenir au niveau des chacun des points de contrle, et le jeu des signaux mettre
e j (t )

les inconnues du problme.

Il y a plusieurs types de filtrage inverse : Filtrage inverse spatial : consiste considrer que loprateur de propagation, tel que dcrit prcdemment, possde un certain nombre de

degrs de liberts, li la disposition des transducteurs et aux caractristiques 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 :

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

Filtre slectif par les k les plus proches voisins

la mthode des k plus proches voisins consiste prendre en compte (de faon identique) les k chantillons d'apprentissage dont l'entre est la plus proche de la nouvelle entre x, selon une distance dfinir. Cette mthode permet dviter le problme du choix de la fentre approprie. Il consiste adapter la taille la densit locale des chantillons d'apprentissage.
Rgle du PPV (Plus proche voisin)

Considrons le cas particulier de k=1 Soit les chantillons d'apprentissage Dn={x1, ... ,xn} et x'Dn, le plus proche voisin de x Si les chantillons sont suffisamment denses La rgle de dcision consiste classer x dans la classe de x'
Programme Matlab
ima=imread('rice.png'); figure(1); imshow(ima); [M,N]=size(ima); ima2=imnoise(ima,'gaussian',0.001); figure(3); imshow(ima2); ima1= double(ima); NV=1; for i=1+NV:M-NV for j=1+NV:N-NV l=0; imar(i,j)=0; k=5; 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 [differnce,indice]=sort(diff); for t=1:k imar(i,j)=imar(i,j)+a(indice(t)); end imar(i,j)=ima(i,j)/k; end end figure(2); imshow(uint8(imar));

Resultat

Filtre Passe-bas

Un filtre passe-bas est un filtre qui laisse passer les basses frquences et qui attnue les hautes frquences, c'est--dire les frquences suprieures la frquence de coupure. Il pourrait galement tre appel filtre coupe-haut. Le filtre passe-bas est l'inverse du filtre passe-haut et ces deux filtres combins forment un filtre passebande. Le concept de filtre passe-bas est une transformation mathmatique applique des donnes (un signal). L'implmentation d'un filtre passe-bas peut se faire numriquement ou avec des composants lectroniques. Cette transformation a pour fonction d'attnuer les frquences suprieures sa frquence de coupure fc et ce, dans le but de conserver uniquement les basses frquences. La frquence de

coupure du filtre est la frquence sparant les deux modes de fonctionnement idaux 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 de composantes 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'aide d'une succession d'oprations mathmatiques sur un signal discret. C'est-dire qu'il modifie le contenu spectral du signal d'entre en attnuant ou liminant certaines composantes spectrales indsires. Il est ralis soit par des circuits intgrs ddis, des processeurs programmables (FPGA, microprocesseur, DSP, microcontrleur, etc.), soit par logiciel dans un ordinateur.
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

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.Le principe du filtre consiste slectionner localement le filtre le plus adapt, en fonction de la nature du pixel dtermine par loprateur de dtection 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. Par consquent, ce filtre rhausse correctement les contours mais le lissage peut savrer insuffisant dans les zones homognes, ce qui est gnralement confirm par les tests. Il sera utilis pour les pixels de contours. Le masque du filtre moyenneur adaptatif dcrit par Po-malaza-Raes et al dans [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 lissage dans 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<s) g(i,j)=ima(i,j); else g(i,j)=ima(i,j); end; end; end; figure(3); imshow(uint8(imaR));

Resultat

Filtre adaptatif de Frost

Un filtre adaptatif qui corrige le bruit multiplicatif. Le filtre value la valeur du 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.

Explication:

mesure quun filtre examine une image pixel par pixel, il modifie la brillance dun pixel particulier en fonction du voisinage de ce pixel (Graphique 1). Ce voisinage est appel fentre et peut souvent tre command par lutilisateur. Il y a plusieurs paramtres commander, selon le filtre. Souvent, la taille de la fentre et les valeurs de pondration des pixels lintrieur de la fentre peuvent tre rgles par lutilisateur. Plus la fentre est grande, plus leffet de lissage du filtre est grand. Des facteurs de pondration attribus aux pixels lintrieur de la fentre peuvent rehausser des aspects diffrents des pixels plus proches du pixel central ou peut-tre rendre le filtre directionnel en distribuant les facteurs de pondration de faon asymtrique. Des filtres adaptatifs appliqus des images radar sont conus pour rduire le chatoiement tout en conservant les contours (Graphique 2) (variations de contraste vif). Pour limagerie radar, les statistiques de chatoiement sont trs diffrentes de celles de limagerie optique, et lalgorithme du filtre tablit ses propres paramtres de fentre, normalement une combinaison linaire de la valeur observe du pixel et de la moyenne des valeurs des pixels de la fentre. Les pondrations sont une fonction de la mesure dhtrognit de la scne locale. Le principal avantage des filtres adaptatifs appliqus aux images radar est quils peuvent produire une valuation prcise du coefficient de rtrodiffusion lintrieur de zones homognes, tout en conservant la structure des contours et de la texture dans les zones 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 Matlab
ima1=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;

end end sigma=sqrt(sigma/tv); CV=sigma/imaM(i,j); if CV<CVmin imaR(i,j)=imaM(i,j); else if CV>CVmax 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

Mthode de Gordon

Mise au point par le docteur Thomas Gordon, aux Etats-Unis, dans les annes 1950, cette approche se retrouve dans la dmarche de la Communication dite nonviolente (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 dordre factuel 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);

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

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

Filtre Median

Le filtre mdian est un filtre spatial qui calcule en chaque pixel la mdiane des niveaux 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 fentre associe 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 donne une 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 des niveaux de gris I(q) des pixels q dans la fentre W(p) : J(p) = med (I(q) | q dans W(p)) . Notons que ce calcul de J(p) se fait en parallle, en d'autres termes le calcul en un pixel p n'influe pas sur le calcul en un pixel voisin q. Pour comprendre le fonctionnement du filtre mdian, on applique le principe de dichotomie. Soit s une intensit qu'on prendra comme seuil ; alors la mdiane de n variables x1, ..., xn (n impair) sera s si et seulement si la majorit de ces n variables est s. Donc si on appelle "clairs" les niveaux de gris s, et "sombres" ceux < s, le filtre mdian rendra un pixel "clair" ou "sombre" selon que la majorit des pixels de la fentre autour de ce pixel sont "clairs" ou "sombres". Une des proprits fondamentales du filtre mdian, est qu'il ne cre pas de nouvelles valeurs de niveaux de gris dans l'image. Trois consquences importantes sont que, contrairement au lissage linaire, ce filtre s'avre inutile pour crer des dgrads dans une image dont les niveaux de gris ont t sous-quantifis. ne peut pas restaurer une image en demi-ton, au contraire il accentuera l'effet de binarisation. peut s'appliquer aux images binaires ( deux valeurs), et le rsultat restera une image binaire. Le filtre mdian est rput ne pas introduire de flou dans les images. Ce n'est pas totalement vrai, il peut tendre un dgrad prsent le long d'une arte courbe ou autour d'un coin, donnant donc un effet visuel de lger flou, mais c'est sans commune mesure avec le flou provoqu par le lissage linaire. Cela provient du fait que le filtre mdian prserve les marches et rampes rectilignes. Une marche reprsente une augmentation abrupte du niveau de gris, tandis qu'une rampe signifie une augmentation progressive et monotone du niveau de gris. Une marche ou rampe est rectiligne si l'arte qu'elle constitue dans l'image est rectiligne, en d'autres termes si le niveau de gris est peu prs constant dans la direction perpendiculaire celle de l'augmentation.

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

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 plus complexes que celle du texte.En effet,limage est un objet deux dimensions , cens reprsenter 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 se heurtent certaines limitations. Grce au traitement dimage ,ces contraintes sont leves ou contournes. En effet , ce domaine cherche dtecter la prsence de certaines formes, certains contours ou certaines textures dun modle connu , cest le problme de la dtection. Un autre aspect de traitement dimage concerne lanalyse et la comprhension de limage dans le but den extraire des informations utiles. Il cherche aussi parfois comprimer limage afin de gagner en vitesse lors de la transmission de linformation , et en capacit de stockage , tout en dgradant le moins possible les images considres.