PANDORE Version 6 GREYC-IMAGE

plogtransform



Transformations des niveaux de gris par loi logarithmique ou exponentielle.



Synopsis

plogtransform inverse min max [-m mask] [im_in|-] [im_out|-]

Description

L'opérateur plogtransform étale ou compresse la plage des niveaux de gris de l'image d'entrée im_in en utilisant une transformation logarithmique ou exponentielle. Le paramètre inverse spécifie si la transformation est de type logarithmique ou exponentielle.

L'effet d'une transformation logarithmique est de plaquer une courte plage de niveaux de gris sombres sur une plus grande plage de niveaux de gris et de plaquer une grande plage de niveaux de gris clairs sur une courte plage de niveaux de gris en sortie. L'effet d'une transformation exponentielle est inverse.

La transformation logarithmique du pixel 'p' prend la forme :

im_out[p]=(c*log(im_in[p]-smin+1.0)) + min;
c=(max-min) / (log(smax-smin+1.0))

où smin et smax sont les valeurs the minimale et maximale de l'image d'entrée et c un facteur de normalisation pour l'étalement des valeurs de niveaux de gris en sortie entre min et max.

La transformation exponentielle d'un pixel 'p' prend la forme suivante :

im_out[p]=exp((im_in[p]-smin)/c) -1.0 + min;
c=(smax-smin) / (log(max-min+1.0))

où smin et smax sont les valeurs the minimale et maximale de l'image d'entrée et c un facteur de normalisation pour l'étalement des valeurs de niveaux de gris en sortie entre min et max.

Pour les images couleur et multispectrales, la transformation utilise l'approche vectorielle : le min et le max sont calculés sur toutes les bandes et chaque bande est modifiée avec la même transformation.

Paramètres

Entrées

Sorties

Résultat

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

Exemples

Voir aussi

Transformation de la LUT, plineartransform, ppowerlawtransform

Prototype C++

Errc PLogTransform( const Img2duc &im_in, const Img2duc &im_out, int inverse, float min, float max );

Auteur: Régis Clouard