Maison >développement back-end >C++ >Comment convertir RVB en HSV et inversement dans la plage 0-255 ?
Conversion de RVB en HSV et HSV en RVB dans la plage 0-255
Transformation des représentations de couleurs entre RVB (Rouge, Vert, Bleu) et HSV (Teinte, Saturation, Valeur) est essentiel pour le traitement des images et l'infographie. Cette transformation nécessite de traduire les valeurs de couleur dans des plages spécifiques pour garantir une conversion précise.
Conversion RVB en HSV
La conversion RVB en HSV implique les étapes suivantes :
Calculer la saturation (S) : Calculez la saturation à l'aide de la formule :
S = (V - min) / V
Calculer la teinte (H) : Déterminez la teinte à l'aide d'instructions conditionnelles basées sur les valeurs relatives des composants RVB :
if (R >= G && R >= B): H = (G - B) / (V - min) elif (G >= R && G >= B): H = 2 + (B - R) / (V - min) else: H = 4 + (R - G) / (V - min)
Conversion HSV en RVB
La conversion HSV en RVB se déroule comme suit :
Trouver l'indice de teinte : Déterminer l'indice entier de la teinte :
i = int(H / 60.0)
Calculer Partie fractionnaire : Calculez la partie fractionnaire du teinte :
ff = H / 60.0 - i
Définir les valeurs RVB par défaut :
R = G = B = V
Calculer les valeurs RVB : Ajustez les valeurs RVB en fonction de la teinte index :
if (i == 0): B = p elif (i == 1): R = q elif (i == 2): G = p elif (i == 3): R = p elif (i == 4): B = t elif (i == 5): G = p
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!