PANDORE Version 6 GREYC-IMAGE

prgb2hsl



Changement d'espace couleur de RGB vers HSL.



Synopsis

prgb2hsl [-m mask] [im_in|-] [im_out|-]

Description

L'opérateur prgb2hsl permet de changer l'espace couleur (Rouge, Vert, Bleu) vers l'espace HSL (Teinte, Saturation, Luminance).

La teinte (Hue) est la qualité de couleur correspondant à sa position dans le spectre: rouge, orange, jaune, vert, cyan, bleu, magenta. Elle s'exprime en degré [0,360].

La saturation est l'intensité d'une couleur. Elle s'exprime par une valeur d'intensité de pourcentage de l'intervalle [0..100]. A 0% de saturation, une couleur apparaît blanche, à 100% de saturation, une couleur atteint son degré de plus intense.

La luminosité (Lightness) est la quantité de blanc et de noir contenue dans une couleur. Elle s'exprime par une valeur d'intensité de l'intervalle [0,255].

L'image de sortie est par conséquent de type float.

Le principe de transformation d'une composant RGB en HSL :

  Soit max = MAX(R,G,B) et min = MIN(R,G,B)

   |- 0				  si max = min
   |	     (G-B) 
H= |- (60 *  ----- + 360) mod 360 si max = R
   |	   (max-min)
   |	     (B-R) 
   |- (60 *  ----- + 120) + 210	  si max = V
   |	   (max-min)
   |	     (R-G)
   |- (60 *  ----- + 240)	  si max = B
   |        (max-min)


     (max+min)
L=   --------
         2

    |- 0		 si max = min
    |
    |	    max-min
    |- 100 *-------      si l<=1/2
S = |       max+min 
    |
    |         max-min
    |- 100 * ----------- si l>1/2
    |        2-(max+min) 

Entrées

Sorties

Résultat

Retourne SUCCESS ou FAILURE.

Exemples

Convertit parrot.pan de rgb en hsl et réciproquement.

   prgb2hsl parrot.pan a.pan
   phsltorgb a.pan b.pan

Voir aussi

Color

Prototype C++

Errc PRGB2HSL( const Imc2duc &im_in, Imc2dsf &im_out );

Auteur: Régis Clouard