PANDORE Version 6 GREYC-IMAGE

pgaussianfilter



Génère un filtre Gaussien passe-bas, passe-haut, coupe-bande ou passe-bande.



Synopsis

pgaussianfilter [-m mask] ncol nrow ndep highpass cutin cutoff [im_out|-]

Description

L'opérateur pgaussianfilter génère un filtre Gaussien passe-bas, passe-haut, coupe-bande ou passe-bande.

Si ndep<1 le filtre im_out est une image 2D de Float avec size nrow*ncol sinon le filtre im_out est une image 3D de Float avec la taille ndep*nrow*ncol.

Le filtre passe-bas de Butterworth coupe les hautes fréquences des composantes de la transformée de Fourier qui sont à une distance supérieure à la distance spécifiée D0 (la valeur cutoff) à partir de l'origine du centre de la transformation.

La fonction de transfert d'un filtre 2D passe-bas gaussien avec une fréquence de coupe à la distance D0 de l'origine est définie par :

   Hlp(u,v) = exp(-D2(u,v)/2D02)

où D(u,v) est la distance du point (u,v) à l'origine :

   D(u,v)=sqrt((u-M/2)2 + (v-N/2)2)

où N est le nombre de lignes et M est le nombre de colonnes.

La fonction de transfert d'un filtre passe-haut :

   H(u,v) =  1- Hlp(u,v)

La fonction de transfert d'un filtre coupe-bande :

   H(u,v) = Hhp(u,v) - Hlp(u,v)

où Hhp(u,v) est le filtre passe-haut avec le paramètre cutoff et Hlp(u,v) est le filtre passe-bas avec le paramètre cutin.

Paramètres

Sorties

Résultat

Retourne SUCCESS ou FAILURE en cas de mauvais paramétrage.

Exemples

Effectue un filtrage passe-bas de Gauss :

   pimage1 0 tangram.pan i1.pan
   pfft tangram.pan i1.pan i2.pan i3.pan
   pgaussianfilter 256 256 0 0 0 100 i4.pan
   pmult i2.pan i4.pan i5.pan
   pmult i3.pan i4.pan i6.pan
   pifft i5.pan i6.pan out.pan i8.pan

Effectue un filtrage passe-haut de Gauss :

   psetcst 0 tangram.pan i1.pan
   pfft tangram.pan i1.pan i2.pan i3.pan
   pgaussianfilter 256 256 0 1 0 50 i4.pan
   pmult i2.pan i4.pan i5.pan
   pmult i3.pan i4.pan i6.pan
   pifft i5.pan i6.pan out.pan i8.pan

Effectue un filtrage coupe-bande de Gauss :

   psetcst 0 tangram.pan i1.pan
   pfft tangram.pan i1.pan i2.pan i3.pan
   pgaussianfilter 256 256 0 0 25 50 i4.pan
   pmult i2.pan i4.pan i5.pan
   pmult i3.pan i4.pan i6.pan
   pifft i5.pan i6.pan out.pan i8.pan

Effectue un filtrage passe-bande de Gauss :

   psetcst 0 tangram.pan i1.pan
   pfft tangram.pan i1.pan i2.pan i3.pan
   pgaussianfilter 256 256 0 1 25 50 i4.pan
   pmult i2.pan i4.pan i5.pan
   pmult i3.pan i4.pan i6.pan
   pifft i5.pan i6.pan out.pan i8.pan

Voir aussi

Domaine Fréquentiel, pifft, pfftshift

Prototype C++

Errc GaussianFilter( Img2dsf &im_out, int ndep, int nrow, int ncol, int highpass, float cutin, float cutoff );

Auteur: Régis Clouard