rapport de traitement d'image

Upload: naoufal-lamarti

Post on 06-Apr-2018

226 views

Category:

Documents


1 download

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 .