Bonjour, je suis étudiant et je suis confronté à un problème dans le cadre d'un TP de traitement d'images, je dois trouver une méthodologie simple pour convertir du HLS en RGB.
Teinte : H (de 0 à 360)
Luminance : L (0 à 1)
Saturation : S (0 à 1)
RGB de 0 à 1
La méthodologie devrait se décomposer en 3 parties :
Tout d'abord, je calcule un triplet RGB de couleurs pures en fonction de la teinte H (sans me préoccuper de L et S). J'ai trouvé les équations suivantes :
Cas 1 : 0 ≤ H ≤ 60 (Rouge – Jaune)
R = 1
G = h/60
B = 0
Cas 2 : 60 ≤ H ≤ 120 (Jaune – Vert)
R = (120-h)/60
G = 1
B = 0
Cas 3 : 120 ≤ H ≤ 180 (Vert – Cyan)
R = 0
G = 1
B = (h-120)/60
Cas 4 : 180 ≤ H ≤ 240 (Cyan – Bleu)
R = 0
G = (240-h)/60
B = 1
Cas 5 : 240 ≤ H ≤ 300 (Bleu – Magenta)
R = (h-240)/60
G = 0
B = 1
Cas 6 : 300 ≤ H < 360 (Magenta – Rouge)
R = 1
G = 0
B = (360-h)/60
Ensuite, je veux prendre en compte la luminance L, j'imagine qu'il va falloir interpoler mon triplet RGB en fonction de L mais je ne vois pas du tout comment.
Enfin, je veux prendre en compte la saturation S et faire une dernière interpolation mais là aussi c'est le trou noir !
Je ne recherche pas un algorithme ou des fonctions toutes faites, j'ai déjà trouvé et cela ne correspond pas à ce que je recherche, je cherche vraiment une méthodologie simple et détaillée pas à pas.
De l'aide serait très bienvenue !
Merci d'avance !
Partager