LGV et HSV

0

HSL (pour hue, saturation, lightness ) et HSV (pour hue, saturation, value ; également connu sous le nom de HSB , pour hue, saturation, brightness ) sont des représentations alternatives du modèle de couleur RVB , conçu dans les années 1970 par des chercheurs en infographie pour plus s’aligner étroitement sur la façon dont la vision humaine perçoit les attributs de création de couleur. Dans ces modèles, les couleurs de chaque teinte sont disposées dans une tranche radiale, autour d’un axe central de couleurs neutres qui va du noir en bas au blanc en haut.

Fig. 1. HSL (a–d) et HSV (e–h). Ci-dessus (a, e) : modèles 3D en coupe de chacun. Ci-dessous : tracés bidimensionnels montrant deux des trois paramètres d’un modèle à la fois, en maintenant l’autre constant : coques cylindriques (b, f) de saturation constante, en l’occurrence la surface extérieure de chaque cylindre ; des sections horizontales (c, g) de luminosité HSL ou valeur HSV constante, en l’occurrence les tranches à mi-hauteur de chaque cylindre ; et des sections verticales rectangulaires (d, h) de teinte constante, en l’occurrence de teintes 0° rouge et son complément 180° cyan.

La représentation HSL modélise la façon dont différentes peintures se mélangent pour créer de la couleur dans le monde réel, la dimension de luminosité ressemblant aux différentes quantités de peinture noire ou blanche dans le mélange (par exemple, pour créer du “rouge clair”, un pigment rouge peut être mélangé avec peinture blanche ; cette peinture blanche correspond à une valeur de “légèreté” élevée dans la représentation HSL). Les couleurs entièrement saturées sont placées autour d’un cercle à une valeur de luminosité de 1⁄2, avec une valeur de luminosité de 0 ou 1 correspondant respectivement au noir ou au blanc complet.

Pendant ce temps, la représentation HSV modélise la façon dont les couleurs apparaissent sous la lumière. La différence entre HSL et HSV est qu’une couleur avec une luminosité maximale en HSL est un blanc pur, mais une couleur avec une valeur/luminosité maximale en HSV est analogue à l’éclat d’une lumière blanche sur un objet coloré (par exemple, l’éclat d’une lumière blanche brillante sur un rouge fait apparaître l’objet toujours rouge, juste plus brillant et plus intense, tandis que le fait de faire briller une faible lumière sur un objet rouge fait apparaître l’objet plus sombre et moins brillant).

Le problème avec HSV et HSL est que ces approches ne séparent pas efficacement la couleur en leurs trois composantes de valeur en fonction de la perception humaine de la couleur. [1] [2] [3] Cela peut être vu lorsque les paramètres de saturation sont modifiés – il est assez facile de remarquer la différence de luminosité perceptuelle malgré le réglage “V” ou “L” fixé.

Principe de base

Figure 2a. Cylindre HSL. Figure 2b. Cylindre HSV.

HSL et HSV sont toutes deux des géométries cylindriques ( fig. 2 ), avec hue, leur dimension angulaire, partant du primaire rouge à 0°, passant par le primaire vert à 120° et le primaire bleu à 240°, puis revenant à rouge à 360°. Dans chaque géométrie, l’axe vertical central comprend les couleurs neutres , achromatiques ou grises allant, de haut en bas, du blanc à la clarté 1 (valeur 1) au noir à la clarté 0 (valeur 0).

Dans les deux géométries, les couleurs primaires et secondaires additives – rouge , jaune , vert, cyan , bleu et magenta – et les mélanges linéaires entre leurs paires adjacentes, parfois appelées couleurs pures , sont disposées autour du bord extérieur du cylindre avec une saturation 1. Ces couleurs saturées ont une luminosité de 0,5 en HSL, tandis qu’en HSV, elles ont une valeur de 1. Le mélange de ces couleurs pures avec du noir – produisant ce qu’on appelle des nuances – laisse la saturation inchangée. En HSL, la saturation est également inchangée en teintant avec du blanc, et seuls les mélanges avec du noir et du blanc, appelés tons— ont une saturation inférieure à 1. Dans le HSV, la teinture seule réduit la saturation.

Fig. 3a–b. Si nous traçons la teinte et (a) la luminosité HSL ou (b) la valeur HSV par rapport au chroma ( plage de valeurs RVB) plutôt que la saturation (chroma sur le chroma maximum pour cette tranche), le solide résultant est un bicône ou un cône , respectivement, pas un cylindre. De tels diagrammes prétendent souvent représenter HSL ou HSV directement, avec la dimension de chrominance étiquetée de manière confuse “saturation”. Couleurs de valeur 1 dans l’espace colorimétrique HSV, avec du blanc (saturation 0) au centre et des couleurs entièrement saturées au bord. Ce cercle est le sommet du cône/cylindre HSV affiché ci-dessus. Toutes les couleurs affichables sur un écran sont des nuances de ces couleurs.

Parce que ces définitions de saturation – dans lesquelles des couleurs presque neutres très sombres (dans les deux modèles) ou très claires (dans HSL) sont considérées comme entièrement saturées (par exemple, du bas à droite dans le cylindre HSL tranché ou en haut à droite) – conflit avec la notion intuitive de pureté des couleurs, souvent un solide conique ou biconique est dessiné à la place ( fig. 3 ), avec ce que cet article appelle la chrominance comme dimension radiale (égale à la plage des valeurs RVB) , au lieu de la saturation (où la saturation est égale à la saturation sur la saturation maximale dans cette tranche du (bi)cône). De manière déroutante, de tels diagrammes étiquettent généralement cette dimension radiale “saturation”, brouillant ou effaçant la distinction entre saturation et chrominance. [A] Comme décrit ci-dessous, le calcul de la chrominance est une étape utile dans la dérivation de chaque modèle. Parce qu’un tel modèle intermédiaire – avec des dimensions de teinte, de chrominance et de valeur HSV ou de luminosité HSL – prend la forme d’un cône ou d’un bicône, HSV est souvent appelé le “modèle hexcone” tandis que HSL est souvent appelé le “modèle bi-hexcone” ( figure 8 ). [B]

Motivation

L’espace colorimétrique HSL a été inventé pour la télévision en 1938 par Georges Valensi comme méthode pour ajouter un codage couleur aux émissions monochromes existantes (c’est-à-dire ne contenant que le signal L), permettant aux récepteurs existants de recevoir de nouvelles émissions couleur (en noir et blanc) sans modification comme le signal de luminance (noir et blanc) est diffusé sans modification. Il a été utilisé dans tous les principaux codages de télévision analogique, y compris NTSC , PAL et SECAM , ainsi que dans tous les principaux systèmes de diffusion numérique, et constitue la base de la vidéo composite . [4] [5]

Fig. 4. Les peintres ont longtemps mélangé les couleurs en combinant des pigments relativement brillants avec du noir et du blanc. Les mélanges avec du blanc sont appelés teintes , les mélanges avec du noir sont appelés nuances et les mélanges avec les deux sont appelés tons . Voir Teintes et nuances . [6] Several paint mixing terms can be arranged into a triangular arrangement: the left edge of the triangle shows white at its top and black at its bottom with gray between the two, each in its respective oval. A pure color (in this case, a bright blue-green) lies at the right corner of the triangle. On the edge between the pure color and black is a shade (a darker blue-green), between the pure color and white is a tint (a lighter, faded blue-green), and a tone lies in the middle of the triangle (a muted blue-green). Plusieurs termes de mélange de peinture peuvent être disposés dans un arrangement triangulaire : le bord gauche du triangle montre du blanc en haut et du noir en bas avec du gris entre les deux, chacun dans son ovale respectif. Une couleur pure (dans ce cas, un bleu-vert brillant) se trouve dans le coin droit du triangle. Sur le bord entre la couleur pure et le noir se trouve une nuance (un bleu-vert plus foncé), entre la couleur pure et le blanc se trouve une teinte (un bleu-vert plus clair et délavé), et un ton se trouve au milieu du triangle ( un bleu-vert atténué). Fig. 5. Ce modèle de couleur de 1916 du chimiste allemand Wilhelm Ostwald illustre l’approche des “mélanges avec du blanc et du noir”, organisant 24 couleurs “pures” dans un cercle de teintes et les couleurs de chaque teinte dans un triangle. Le modèle prend ainsi la forme d’un bicône. [7] [8] The RGB cube has black at its origin, and the three dimensions R, G, and B pointed in orthogonal directions away from black. The corner in each of those directions is the respective primary color (red, green, or blue), while the corners further away from black are combinations of two primaries (red plus green makes yellow, red plus blue makes magenta, green plus blue makes cyan). At the cube's corner farthest from the origin lies white. Any point in the cube describes a particular color within the gamut of RGB. The RGB cube has black at its origin, and the three dimensions R, G, and B pointed in orthogonal directions away from black. The corner in each of those directions is the respective primary color (red, green, or blue), while the corners further away from black are combinations of two primaries (red plus green makes yellow, red plus blue makes magenta, green plus blue makes cyan). At the cube's corner farthest from the origin lies white. Any point in the cube describes a particular color within the gamut of RGB. Figure 6a. La gamme RVB peut être organisée dans un cube. The same image, with a portion removed for clarity. The same image, with a portion removed for clarity. Figure 6b. La même image, avec une partie supprimée pour plus de clarté. In classic patent application style, this is a black-and-white diagram with the patent name, inventor name, and patent number listed at the top, shaded by crosshatching. This diagram shows a three-dimensional view of Tektronix's biconic HSL geometry, made up of horizontal circular slices along a vertical axis expanded for ease of viewing. Within each circular slice, saturation goes from zero at the center to one at the margins, while hue is an angular dimension, beginning at blue with hue zero, through red with hue 120 degrees and green with hue 240 degrees, and back to blue. In classic patent application style, this is a black-and-white diagram with the patent name, inventor name, and patent number listed at the top, shaded by crosshatching. This diagram shows a three-dimensional view of Tektronix's biconic HSL geometry, made up of horizontal circular slices along a vertical axis expanded for ease of viewing. Within each circular slice, saturation goes from zero at the center to one at the margins, while hue is an angular dimension, beginning at blue with hue zero, through red with hue 120 degrees and green with hue 240 degrees, and back to blue. Fig. 7. Les terminaux graphiques Tektronix ont utilisé la première mise en œuvre commerciale de HSL, en 1979. Ce diagramme, tiré d’un brevet déposé en 1983, montre la géométrie en bicône sous-jacente au modèle. [9]

La plupart des téléviseurs, des écrans d’ordinateur et des projecteurs produisent des couleurs en combinant la lumière rouge, verte et bleue à des intensités variables, appelées couleurs primaires additives RVB . Les mélanges résultants dans l’Espace colorimétrique RVB peuvent reproduire une grande variété de couleurs (appelées une gamme ); cependant, la relation entre les quantités constitutives de lumière rouge, verte et bleue et la couleur résultante n’est pas intuitive, en particulier pour les utilisateurs inexpérimentés et pour les utilisateurs familiarisés avec le mélange soustractif de couleurs de peintures ou les modèles d’artistes traditionnels basés sur les teintes et les nuances ( fig . . 4 ). De plus, ni les modèles de couleur additifs ni soustractifs ne définissent les relations de couleur de la même manière que l’œil humain . Est-ce que. [C]

Par exemple, imaginons que nous ayons un écran RVB dont la couleur est contrôlée par trois curseurs allant de 0 à 255 , l’un contrôlant l’intensité de chacune des primaires rouge, verte et bleue. Si on commence par un orange relativement coloré , avec des valeurs sRGB R = 217 , G = 118 , B = 33 , et que vous souhaitez réduire sa couleur de moitié à un orange moins saturé , nous aurions besoin de faire glisser les curseurs pour diminuer R de 31, augmenter G de 24 et augmenter B de 59, comme illustré ci-dessous.

Unintuitive-rgb.png Unintuitive-rgb.png

Dans une tentative d’adapter des modèles de mélange de couleurs plus traditionnels et intuitifs, les pionniers de l’infographie au PARC et au NYIT ont introduit le modèle HSV pour la technologie d’affichage informatique au milieu des années 1970, officiellement décrit par Alvy Ray Smith [13] dans le numéro d’août 1978 de Computer Graphiques . Dans le même numéro, Joblove et Greenberg [14] ont décrit le modèle HSL – dont ils ont nommé les dimensions teinte , chroma relative et intensité – et l’ont comparé au HSV ( fig. 1 ). Leur modèle était davantage basé sur la façon dont les couleurs sont organisées et conceptualisées dans la vision humaineen termes d’autres attributs de fabrication de couleurs, tels que la teinte, la luminosité et la saturation ; ainsi que sur les méthodes traditionnelles de mélange de couleurs – par exemple, dans la peinture – qui impliquent de mélanger des pigments de couleurs vives avec du noir ou du blanc pour obtenir des couleurs plus claires, plus foncées ou moins colorées.

L’année suivante, en 1979, chez SIGGRAPH , Tektronix a introduit des terminaux graphiques utilisant HSL pour la désignation des couleurs, et le Computer Graphics Standards Committee l’a recommandé dans son rapport de situation annuel ( fig. 7 ). Ces modèles étaient utiles non seulement parce qu’ils étaient plus intuitifs que les valeurs RVB brutes, mais aussi parce que les conversions vers et depuis RVB étaient extrêmement rapides à calculer : ils pouvaient fonctionner en temps réel sur le matériel des années 1970. Par conséquent, ces modèles et d’autres similaires sont devenus omniprésents dans les logiciels d’édition d’images et de graphisme depuis lors. Certaines de leurs utilisations sont décrites ci- dessous . [15] [16] [17] [18]

Dérivation formelle

A flow-chart–like diagram shows the derivation of HSL, HSV, and a luma/chroma/hue model. At the top lies an RGB "color cube", which as a first step is tilted onto its corner so that black lies at the bottom and white at the top. At the next step, the three models diverge, and the height of red, yellow, green, cyan, blue, and magenta is set based on the formula for lightness, value, or luma: in HSV, all six of these are placed in the plane with white, making an upside-down hexagonal pyramid; in HSL, all six are placed in a plane halfway between white and black, making a bipyramid; in the luma/chroma/hue model, the height is determined by the approximate formula luma equals 0.3 times red plus 0.6 times green plus 0.1 times blue. At the next step, each horizontal slice of HSL and HSV is expanded to fill a uniform-width hexagonal prism, while the luma/chroma/hue model is simply embedded in that prism without modification. As a final step, all three models' hexagonal prisms are warped into cylinders, reflecting the nature of the definition of hue and saturation or chroma. For full details and mathematical formalism, read the rest of this section. A flow-chart–like diagram shows the derivation of HSL, HSV, and a luma/chroma/hue model. At the top lies an RGB "color cube", which as a first step is tilted onto its corner so that black lies at the bottom and white at the top. At the next step, the three models diverge, and the height of red, yellow, green, cyan, blue, and magenta is set based on the formula for lightness, value, or luma: in HSV, all six of these are placed in the plane with white, making an upside-down hexagonal pyramid; in HSL, all six are placed in a plane halfway between white and black, making a bipyramid; in the luma/chroma/hue model, the height is determined by the approximate formula luma equals 0.3 times red plus 0.6 times green plus 0.1 times blue. At the next step, each horizontal slice of HSL and HSV is expanded to fill a uniform-width hexagonal prism, while the luma/chroma/hue model is simply embedded in that prism without modification. As a final step, all three models' hexagonal prisms are warped into cylinders, reflecting the nature of the definition of hue and saturation or chroma. For full details and mathematical formalism, read the rest of this section. Fig. 8. La dérivation géométrique des représentations cylindriques HSL et HSV d’un “colorcube” RVB. File:RGB 2 HSV conversion with grid.ogg File:RGB 2 HSV conversion with grid.ogg Lire des médias Dérivation géométrique visualisée de la représentation HSV cylindrique d’un “colorcube” RVB. File:RGB 2 HSL conversion with grid.ogg File:RGB 2 HSL conversion with grid.ogg Lire des médias Dérivation géométrique visualisée de la représentation cylindrique HSL d’un “colorcube” RVB.

Attributs de création de couleur

Les dimensions des géométries HSL et HSV – de simples transformations du modèle RVB non basé sur la perception – ne sont pas directement liées aux attributs photométriques de création de couleurs du même nom, tels que définis par des scientifiques tels que la CIE ou l’ ASTM . Néanmoins, il vaut la peine de revoir ces définitions avant de se lancer dans la dérivation de nos modèles. [D] Pour les définitions des attributs de création de couleur qui suivent, voir : [19] [20] [21] [22] [23] [24]

Teinte “Attribut d’une sensation visuelle selon laquelle une zone apparaît semblable à l’une des couleurs perçues : rouge, jaune, vert et bleu, ou à une combinaison de deux d’entre elles”. [19] Radiance ( L e,Ω ) La puissance rayonnante de la lumière traversant une surface particulière par unité d’ angle solide par unité de surface projetée, mesurée en unités SI en watt par stéradian par mètre carré ( W·sr −1 ·m −2 ). Luminance ( Y ou L v,Ω ) Le rayonnement pondéré par l’effet de chaque longueur d’onde sur un observateur humain typique, mesuré en unités SI en candela par mètre carré ( cd/m 2 ). Souvent, le terme luminance est utilisé pour la luminance relative , Y / Yn ,Yn est la luminance du point blanc de référence . Luma ( Y′ ) La somme pondérée des valeurs R ′ , G ′ et B ′ corrigées gamma , et utilisée dans Y′CbCr , pour la compression JPEG et la transmission vidéo. Luminosité (ou valeur) “Attribut d’une sensation visuelle selon laquelle une zone semble émettre plus ou moins de lumière”. [19] Légèreté La “luminosité par rapport à la luminosité d’un blanc éclairé de manière similaire”. [19] Couleur “Attribut d’une sensation visuelle selon laquelle la couleur perçue d’une zone apparaît plus ou moins chromatique”. [19] Chroma La “colorité par rapport à la luminosité d’un blanc éclairé de la même manière”. [19] Saturation La “colorité d’un stimulus par rapport à sa propre luminosité”. [19]

La luminosité et la couleur sont des mesures absolues, qui décrivent généralement la distribution spectrale de la lumière pénétrant dans l’œil, tandis que la luminosité et la saturation sont mesurées par rapport à un point blanc, et sont donc souvent utilisées pour les descriptions des couleurs de surface, restant à peu près constantes même en tant que luminosité et couleur. changer avec un éclairage différent . La saturation peut être définie soit comme le rapport entre la couleur et la luminosité, soit entre la saturation et la luminosité.

Approche générale

HSL, HSV et les modèles associés peuvent être dérivés via des stratégies géométriques, ou peuvent être considérés comme des instances spécifiques d’un “modèle LHS généralisé”. Les constructeurs de modèles HSL et HSV ont pris un cube RVB – avec des quantités constitutives de lumière rouge, verte et bleue dans une couleur notée R , G , B [0, 1] [E] – et l’ont incliné sur son coin, donc que le noir reposait à l’origine avec le blanc directement au-dessus de lui le long de l’axe vertical, puis mesurait la teinte des couleurs dans le cube par leur angle autour de cet axe, en commençant par le rouge à 0°. Ensuite, ils ont proposé une caractérisation de la luminosité/valeur/luminosité et défini la saturation pour qu’elle s’étende de 0 le long de l’axe à 1 au point le plus coloré pour chaque paire d’autres paramètres. [6][13] [14]

Teinte et chrominance

When an RGB cube, tilted so that its white corner rests vertically above its black corner, is projected into the plane perpendicular to that neutral axis, it makes the shape of a hexagon, with red, yellow, green, cyan, blue, and magenta arranged counterclockwise at its corners. This projection defines the hue and chroma of any color, as described in the caption and article text. When an RGB cube, tilted so that its white corner rests vertically above its black corner, is projected into the plane perpendicular to that neutral axis, it makes the shape of a hexagon, with red, yellow, green, cyan, blue, and magenta arranged counterclockwise at its corners. This projection defines the hue and chroma of any color, as described in the caption and article text. Fig. 9. La teinte et la saturation sont définies sur la base de la projection du cube RVB sur un hexagone dans le “plan de chromaticité”. La chrominance est la taille relative de l’hexagone passant par un point, et la teinte est la distance autour du bord de cet hexagone où se trouve le point.

Dans chacun de nos modèles, nous calculons à la fois la teinte et ce que cet article appellera chroma , d’après Joblove et Greenberg (1978), de la même manière, c’est-à-dire que la teinte d’une couleur a les mêmes valeurs numériques dans tous ces modèles, tout comme sa chrominance. Si nous prenons notre cube RVB incliné et le projetons sur le ” plan de chromaticité ” perpendiculaire à l’axe neutre, notre projection prend la forme d’un hexagone, avec du rouge, du jaune, du vert, du cyan, du bleu et du magenta à ses coins ( fig . . 9 ). La teinte est à peu près l’angle du vecteur par rapport à un point de la projection, avec du rouge à 0°, tandis que la chrominanceest à peu près la distance du point à l’origine. [F] [G]

Plus précisément, la teinte et la saturation de ce modèle sont définies par rapport à la forme hexagonale de la projection. Le chroma est la proportion de la distance entre l’origine et le bord de l’hexagone. Dans la partie inférieure du schéma ci-contre, il s’agit du rapport des longueurs OP / OP ‘ , ou encore du rapport des rayons des deux hexagones. Ce rapport est la différence entre les valeurs les plus grandes et les plus petites parmi R , G ou B dans une couleur. Pour faciliter l’écriture de nos définitions, nous définirons ces valeurs de composante maximale, minimale et de chrominance comme M , m et C , respectivement. [H]

M = max ( R , G , B ) {displaystyle M=max(R,G,B)} {displaystyle M=max(R,G,B)} {displaystyle M=max(R,G,B)} m = min ( R , G , B ) {displaystyle m=min(R,G,B)} {displaystyle m=min(R,G,B)} {displaystyle m=min(R,G,B)} C = range ⁡ ( R , G , B ) = M − m {displaystyle C=operatorname {range} (R,G,B)=M-m} {displaystyle C=operatorname {range} (R,G,B)=M-m} {displaystyle C=operatorname {range} (R,G,B)=M-m}

Pour comprendre pourquoi la chrominance peut être écrite comme Mm , notez que toute couleur neutre, avec R = G = B , se projette sur l’origine et a donc 0 chroma. Ainsi, si nous ajoutons ou soustrayons la même quantité des trois R , G et B , nous nous déplaçons verticalement dans notre cube incliné et ne modifions pas la projection. Par conséquent, deux couleurs quelconques ( R , G , B ) et ( Rm , Gm , Bm )projeter sur le même point et avoir la même chrominance. Le chroma d’une couleur avec une de ses composantes égale à zéro ( m = 0) est simplement le maximum des deux autres composantes. Ce chroma est M dans le cas particulier d’une couleur à composante nulle, et Mm en général.

La teinte est la proportion de la distance autour du bord de l’hexagone qui passe par le point projeté, mesurée à l’origine sur la plage [0, 1] mais maintenant généralement mesurée en degrés [0°, 360°] . Pour les points qui se projettent sur l’origine dans le plan de chromaticité (c’est-à-dire les gris), la teinte n’est pas définie. Mathématiquement, cette définition de la teinte s’écrit par morceaux : [I]

H ′ = { u n d e f i n e d , if C = 0 G − B C mod 6 , if M = R B − R C + 2 , if M = G R − G C + 4 , if M = B {displaystyle H’={begin{cases}mathrm {undefined} ,&{text{if }}C=0\{frac {GB}{C}}{bmod {6}},& {text{if }}M=R\{frac {BR}{C}}+2,&{text{if }}M=G\{frac {RG}{C}}+4 ,&{text{if }}M=Bend{cases}}} {displaystyle H'={begin{cases}mathrm {undefined} ,&{text{if }}C=0\{frac {G-B}{C}}{bmod {6}},&{text{if }}M=R\{frac {B-R}{C}}+2,&{text{if }}M=G\{frac {R-G}{C}}+4,&{text{if }}M=Bend{cases}}} {displaystyle H'={begin{cases}mathrm {undefined} ,&{text{if }}C=0\{frac {G-B}{C}}{bmod {6}},&{text{if }}M=R\{frac {B-R}{C}}+2,&{text{if }}M=G\{frac {R-G}{C}}+4,&{text{if }}M=Bend{cases}}} H = 60 ∘ × H ′ {displaystyle H=60^{circ }fois H’} {displaystyle H=60^{circ }times H'}

Parfois, les couleurs neutres (c’est-à-dire avec C = 0 ) se voient attribuer une teinte de 0° pour la commodité de la représentation.

Pictured at left is the hexagonal projection shown earlier. At right, each side of the hexagon has been changed into a 60° arc of a circle with the same radius. Pictured at left is the hexagonal projection shown earlier. At right, each side of the hexagon has been changed into a 60° arc of a circle with the same radius. Fig. 10. Les définitions de la teinte et de la saturation en HSL et HSV ont pour effet de déformer les hexagones en cercles.

Ces définitions équivalent à une déformation géométrique des hexagones en cercles : chaque côté de l’hexagone est tracé linéairement sur un arc de cercle de 60° ( fig. 10 ). Après une telle transformation, la teinte est précisément l’angle autour de l’origine et la chrominance la distance à l’origine : l’angle et la magnitude du vecteur pointant vers une couleur.

Instead of measuring hue and chroma with reference to the hexagonal edge of the projection of the RGB cube into the plane perpendicular to its neutral axis, we can define chromaticity coordinates alpha and beta in the plane—with alpha pointing in the direction of red, and beta perpendicular to it—and then define hue H2 and chroma C2 as the polar coordinates of these. That is, the tangent of hue is beta over alpha, and chroma squared is alpha squared plus beta squared. Instead of measuring hue and chroma with reference to the hexagonal edge of the projection of the RGB cube into the plane perpendicular to its neutral axis, we can define chromaticity coordinates alpha and beta in the plane—with alpha pointing in the direction of red, and beta perpendicular to it—and then define hue H2 and chroma C2 as the polar coordinates of these. That is, the tangent of hue is beta over alpha, and chroma squared is alpha squared plus beta squared. Fig. 11. La construction de coordonnées de chromaticité rectangulaires α et β , puis leur transformation en teinte H 2 et chroma C 2 donne des valeurs légèrement différentes du calcul de la teinte hexagonale H et de la chrominance C : comparez les nombres de ce diagramme à ceux plus haut dans cette section.

Parfois, pour les applications d’analyse d’images, cette transformation hexagone en cercle est ignorée, et la teinte et la saturation (nous les désignerons par H 2 et C 2 ) sont définies par les transformations de coordonnées cartésiennes à polaires habituelles ( fig. 11 ). Le moyen le plus simple de les dériver consiste à utiliser une paire de coordonnées de chromaticité cartésiennes que nous appellerons α et β : [25] [26] [27]

α = R − G ⋅ cos ⁡ ( 60 ∘ ) − B ⋅ cos ⁡ ( 60 ∘ ) = 1 2 ( 2 R − G − B ) {displaystyle alpha =RGcdot cos(60^{circ })-Bcdot cos(60^{circ })={tfrac {1}{2}}(2R-GB)} {displaystyle alpha =R-Gcdot cos(60^{circ })-Bcdot cos(60^{circ })={tfrac {1}{2}}(2R-G-B)} {displaystyle alpha =R-Gcdot cos(60^{circ })-Bcdot cos(60^{circ })={tfrac {1}{2}}(2R-G-B)} β = G ⋅ sin ⁡ ( 60 ∘ ) − B ⋅ sin ⁡ ( 60 ∘ ) = 3 2 ( G − B ) {displaystyle beta =Gcdot sin(60^{circ })-Bcdot sin(60^{circ })={tfrac {sqrt {3}}{2}}(GB )} {displaystyle beta =Gcdot sin(60^{circ })-Bcdot sin(60^{circ })={tfrac {sqrt {3}}{2}}(G-B)} {displaystyle beta =Gcdot sin(60^{circ })-Bcdot sin(60^{circ })={tfrac {sqrt {3}}{2}}(G-B)} H 2 = atan2 ⁡ ( β , α ) {displaystyle H_{2}=operatorname {atan2} (beta ,alpha )} {displaystyle H_{2}=operatorname {atan2} (beta ,alpha )} {displaystyle H_{2}=operatorname {atan2} (beta ,alpha )} C 2 = gmean ⁡ ( α , β ) = α 2 + β 2 {displaystyle C_{2}=operatorname {gmean} (alpha ,beta )={sqrt {alpha ^{2}+beta ^{2}}}} {displaystyle C_{2}=operatorname {gmean} (alpha ,beta )={sqrt {alpha ^{2}+beta ^{2}}}} {displaystyle C_{2}=operatorname {gmean} (alpha ,beta )={sqrt {alpha ^{2}+beta ^{2}}}}

(La fonction atan2 , une “arctangente à deux arguments”, calcule l’angle à partir d’une paire de coordonnées cartésiennes.)

Notez que ces deux définitions de teinte ( H et H 2 ) coïncident presque, avec une différence maximale entre elles pour toute couleur d’environ 1,12°—ce qui se produit à douze teintes particulières, par exemple H = 13,38° , H 2 = 12,26° — et avec H = H 2 pour tout multiple de 30°. Les deux définitions de chroma ( C et C 2 ) diffèrent plus substantiellement : elles sont égales aux coins de notre hexagone, mais aux points à mi-chemin entre deux coins, comme H = H 2 = 30° , on a C = 1, mais C 2 = √ 3⁄4 ≈ 0,866 , soit une différence d’environ 13,4 %.

Légèreté

When we plot HSV value against chroma, the result, regardless of hue, is an upside-down isosceles triangle, with black at the bottom, and white at the top bracketed by the most chromatic colors of two complementary hues at the top right and left corners. When we plot HSL lightness against chroma, the result is a rhombus, again with black at the bottom and white at the top, but with the colorful complements at horizontal ends of the line halfway between them. When we plot the component average, sometimes called HSI intensity, against chroma, the result is a parallelogram whose shape changes depending on hue, as the most chromatic colors for each hue vary between one third and two thirds between black and white. Plotting luma against chroma yields a parallelogram of much more diverse shape: blue lies about 10 percent of the way from black to white, while its complement yellow lies 90 percent of the way there; by contrast, green is about 60 percent of the way from black to white while its complement magenta is 40 percent of the way there. When we plot HSV value against chroma, the result, regardless of hue, is an upside-down isosceles triangle, with black at the bottom, and white at the top bracketed by the most chromatic colors of two complementary hues at the top right and left corners. When we plot HSL lightness against chroma, the result is a rhombus, again with black at the bottom and white at the top, but with the colorful complements at horizontal ends of the line halfway between them. When we plot the component average, sometimes called HSI intensity, against chroma, the result is a parallelogram whose shape changes depending on hue, as the most chromatic colors for each hue vary between one third and two thirds between black and white. Plotting luma against chroma yields a parallelogram of much more diverse shape: blue lies about 10 percent of the way from black to white, while its complement yellow lies 90 percent of the way there; by contrast, green is about 60 percent of the way from black to white while its complement magenta is 40 percent of the way there. Fig. 12a–d. Quatre dimensions de “légèreté” différentes possibles, tracées par rapport à la chrominance, pour une paire de teintes complémentaires. Chaque tracé est une coupe verticale de son solide de couleur tridimensionnel.

Alors que la définition de la teinte est relativement peu controversée – elle satisfait à peu près au critère selon lequel les couleurs de la même teinte perçue doivent avoir la même teinte numérique – la définition d’une dimension de luminosité ou de valeur est moins évidente : il existe plusieurs possibilités selon le but et les objectifs de la représentation. En voici quatre parmi les plus courants ( fig. 12 ; trois d’entre eux sont également représentés sur la fig. 8 ) :

  • La définition la plus simple est simplement la moyenne arithmétique , c’est-à-dire la moyenne, des trois composantes, dans le modèle HSI appelé intensité ( fig. 12a ). C’est simplement la projection d’un point sur l’axe neutre – la hauteur verticale d’un point dans notre cube incliné. L’avantage est que, avec les calculs de distance euclidienne de teinte et de chrominance, cette représentation préserve les distances et les angles de la géométrie du cube RVB. [26] [28] I = avg ⁡ ( R , G , B ) = 1 3 ( R + G + B ) {displaystyle I=operatorname {avg} (R,G,B)={tfrac {1}{3}}(R+G+B)} {displaystyle I=operatorname {avg} (R,G,B)={tfrac {1}{3}}(R+G+B)} {displaystyle I=operatorname {avg} (R,G,B)={tfrac {1}{3}}(R+G+B)}
  • Dans le modèle HSV “hexcone”, la valeur est définie comme la plus grande composante d’une couleur, notre M ci-dessus ( fig. 12b ). Cela place les trois primaires, ainsi que toutes les “couleurs secondaires” – cyan, jaune et magenta – dans un plan avec du blanc, formant une pyramide hexagonale à partir du cube RVB. [13] V = max ( R , G , B ) = M {displaystyle V=max(R,V,B)=M} {displaystyle V=max(R,G,B)=M}
  • Dans le modèle HSL “bi-hexcone”, la luminosité est définie comme la moyenne des plus grandes et des plus petites composantes de couleur ( fig. 12c ), c’est-à-dire le milieu de gamme des composantes RVB. Cette définition place également les couleurs primaires et secondaires dans un plan, mais un plan passant à mi-chemin entre le blanc et le noir. Le solide de couleur résultant est un double cône similaire à celui d’Ostwald, illustré ci-dessus . [14] L = mid ⁡ ( R , G , B ) = 1 2 ( M + m ) {displaystyle L=operatorname {mid} (R,G,B)={tfrac {1}{2}}(M+m)} {displaystyle L=operatorname {mid} (R,G,B)={tfrac {1}{2}}(M+m)} {displaystyle L=operatorname {mid} (R,G,B)={tfrac {1}{2}}(M+m)}
  • Une alternative plus perceptuellement pertinente consiste à utiliser luma , Y′ , comme dimension de luminosité ( fig. 12d ). Luma est la Moyenne pondérée de R , G et B corrigés gamma , en fonction de leur contribution à la luminosité perçue, longtemps utilisée comme dimension monochromatique dans la diffusion télévisée couleur. Pour sRGB , la Rec. 709 primaires donnent Y′ 709 , le NTSC numérique utilise Y′ 601 selon la Rec. 601 et quelques autres primaires sont également utilisés, ce qui donne des coefficients différents. [29][J] Y 601 ′ = 0.2989 ⋅ R + 0.5870 ⋅ G + 0.1140 ⋅ B {displaystyle Y’_{text{601}}=0,2989cdot R+0,5870cdot G+0,1140cdot B} {displaystyle Y'_{text{601}}=0.2989cdot R+0.5870cdot G+0.1140cdot B} {displaystyle Y'_{text{601}}=0.2989cdot R+0.5870cdot G+0.1140cdot B}(SDTV) Y 240 ′ = 0.212 ⋅ R + 0.701 ⋅ G + 0.087 ⋅ B {displaystyle Y’_{text{240}}=0,212cdot R+0,701cdot G+0,087cdot B} {displaystyle Y'_{text{240}}=0.212cdot R+0.701cdot G+0.087cdot B} {displaystyle Y'_{text{240}}=0.212cdot R+0.701cdot G+0.087cdot B} (Adobe) Y 709 ′ = 0.2126 ⋅ R + 0.7152 ⋅ G + 0.0722 ⋅ B {displaystyle Y’_{text{709}}=0.2126cdot R+0.7152cdot G+0.0722cdot B} {displaystyle Y'_{text{709}}=0.2126cdot R+0.7152cdot G+0.0722cdot B} {displaystyle Y'_{text{709}}=0.2126cdot R+0.7152cdot G+0.0722cdot B} (TVHD) Y 2020 ′ = 0.2627 ⋅ R + 0.6780 ⋅ G + 0.0593 ⋅ B {displaystyle Y’_{text{2020}}=0,2627cdot R+0,6780cdot G+0,0593cdot B} {displaystyle Y'_{text{2020}}=0.2627cdot R+0.6780cdot G+0.0593cdot B} {displaystyle Y'_{text{2020}}=0.2627cdot R+0.6780cdot G+0.0593cdot B} (TVUHD, HDR)

Tous les quatre laissent l’axe neutre seul. Autrement dit, pour les couleurs avec R = G = B , l’une des quatre formulations donne une luminosité égale à la valeur de R , G ou B .

Pour une comparaison graphique, voir fig. 13 ci-dessous .

Saturation

Fig. 14a–d. Dans HSL et HSV, la saturation est simplement la chrominance mise à l’échelle pour remplir l’intervalle [0, 1] pour chaque combinaison de teinte et de luminosité ou de valeur.

Lors de l’encodage des couleurs dans un modèle de teinte/clarté/chroma ou de teinte/valeur/chroma (en utilisant les définitions des deux sections précédentes), toutes les combinaisons de luminosité (ou de valeur) et de chroma ne sont pas significatives : c’est-à-dire que la moitié des couleurs sont dénotables en utilisant H [0°, 360°) , C [0, 1] et V [0, 1]tombent en dehors de la gamme RVB (les parties grises des tranches de la figure 14). Les créateurs de ces modèles considéraient cela comme un problème pour certaines utilisations. Par exemple, dans une interface de sélection de couleurs avec deux des dimensions dans un rectangle et la troisième sur un curseur, la moitié de ce rectangle est constituée d’espace inutilisé. Imaginons maintenant que nous ayons un curseur pour la luminosité : l’intention de l’utilisateur lors du réglage de ce curseur est potentiellement ambiguë : comment le logiciel doit-il gérer les couleurs hors gamme ? Ou à l’inverse, si l’utilisateur a sélectionné le plus coloré possible un violet foncé , puis déplace le curseur de luminosité vers le haut, ce qui doit être fait : l’utilisateur préférerait-il voir un violet plus clair toujours aussi coloré que possible pour la teinte et la luminosité données , ou un violet plus clair d’exactement la même saturation que la couleur d’origine ? [14]

Pour résoudre de tels problèmes, les modèles HSL et HSV mettent à l’échelle la chrominance afin qu’elle s’inscrive toujours dans la plage [0, 1] pour chaque combinaison de teinte et de luminosité ou de valeur, appelant le nouvel attribut saturation dans les deux cas (fig. 14 ). Pour calculer l’un ou l’autre, divisez simplement le chroma par le chroma maximum pour cette valeur ou luminosité.

S V = { 0 , if V = 0 C V , otherwise {displaystyle S_{V}={begin{cases}0,&{text{if }}V=0\{frac {C}{V}},&{text{autrement}}end {cas}}} {displaystyle S_{V}={begin{cases}0,&{text{if }}V=0\{frac {C}{V}},&{text{otherwise}}end{cases}}} {displaystyle S_{V}={begin{cases}0,&{text{if }}V=0\{frac {C}{V}},&{text{otherwise}}end{cases}}} S L = { 0 , if L = 1 or L = 0 C 1 − | 2 L − 1 | , otherwise {displaystyle S_{L}={begin{cas}0,&{text{if }}L=1{text{ ou }}L=0\{frac {C}{1-|2L -1|}},&{text{sinon}}end{cases}}} {displaystyle S_{L}={begin{cases}0,&{text{if }}L=1{text{ or }}L=0\{frac {C}{1-|2L-1|}},&{text{otherwise}}end{cases}}} {displaystyle S_{L}={begin{cases}0,&{text{if }}L=1{text{ or }}L=0\{frac {C}{1-|2L-1|}},&{text{otherwise}}end{cases}}} Fig. 15a–b. En HSI, la saturation , indiquée dans la tranche de droite, correspond à peu près à la chrominance par rapport à la luminosité. Un modèle aux dimensions I , H 2 , C 2 , représenté sur la tranche de gauche, est également courant. Notez que la teinte de ces tranches est la même que la teinte ci-dessus, mais H diffère légèrement de H 2 .

Le modèle HSI couramment utilisé pour la vision par ordinateur, qui prend H 2 comme dimension de teinte et la composante moyenne I (“intensité”) comme dimension de luminosité, ne tente pas de “remplir” un cylindre par sa définition de saturation. Au lieu de présenter aux utilisateurs finaux des interfaces de choix ou de modification des couleurs, l’objectif de HSI est de faciliter la séparation des formes dans une image. La saturation est donc définie selon la définition psychométrique : chroma relative à la luminosité ( fig. 15 ). Voir la section Utilisation dans l’analyse d’images de cet article. [31]

S I = { 0 , if I = 0 1 − m I , otherwise {displaystyle S_{I}={begin{cases}0,&{text{if }}I=0\1-{frac {m}{I}},&{text{autrement}} end{cas}}} {displaystyle S_{I}={begin{cases}0,&{text{if }}I=0\1-{frac {m}{I}},&{text{otherwise}}end{cases}}} {displaystyle S_{I}={begin{cases}0,&{text{if }}I=0\1-{frac {m}{I}},&{text{otherwise}}end{cases}}}

L’utilisation du même nom pour ces trois définitions différentes de la saturation conduit à une certaine confusion, car les trois attributs décrivent des relations de couleur sensiblement différentes; en HSV et HSI, le terme correspond à peu près à la définition psychométrique, d’un chroma d’une couleur par rapport à sa propre luminosité, mais en HSL, il ne s’en rapproche pas. Pire encore, le mot saturation est également souvent utilisé pour l’une des mesures que nous appelons chroma ci-dessus ( C ou C 2 ).

Exemples

Toutes les valeurs des paramètres ci-dessous sont données en pourcentage ( intervalle [0, 1] mis à l’échelle d’un facteur 100), sauf celles pour H et H 2 qui sont dans l’intervalle [0°, 360°) . [K]

Couleur Canal Teinte Chroma Composant Luma Saturation
R g B H H 2 C C2 _ V L je Y′ 601 SV _ S L S je
white 100% 100% 100% N / A 0 0% 100% 100% 100% 100% 0 0%
#808080 50% 50% 50% N / A 0 0% 50% 50% 50% 50% 0 0%
black 0 0% 0 0% 0 0% N / A 0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
red 100% 0 0% 0 0% 0 ° 100% 100% 50% 33,3 % 29,9 % 100%
#BFBF00 75% 75% 0 0% 60 ° 75% 75% 37,5 % 50% 66,4 % 100%
#008000 0 0% 50% 0 0% 120 ° 50% 50% 25% 16,7 % 29,3 % 100%
#80FFFF 50% 100% 100% 180 ° 50% 100% 75% 83,3 % 85% 50% 100% 40%
#8080FF 50% 50% 100% 240 ° 50% 100% 75% 66,7 % 55,7 % 50% 100% 25%
#BF40BF 75% 25% 75% 300 ° 50% 75% 50% 58,3 % 45,7 % 66,7 % 50% 57,1 %
#A0A424 62,8 % 64,3 % 14,2 % 61,8 ° 61,5 ° 50,1 % 49,4 % 64,3 % 39,3 % 47,1 % 58,1 % 77,9 % 63,8 % 69,9 %
#411BEA 25,5 % 10,4 % 91,8 % 251.1 ° 250 ° 81,4 % 75% 91,8 % 51,1 % 42,6 % 24,2 % 88,7 % 83,2 % 75,6 %
#1EAC41 11,6 % 67,5 % 25,5 % 134,9 ° 133,8 ° 55,9 % 50,4 % 67,5 % 39,6 % 34,9 % 46% 82,8 % 70,7 % 66,7 %
#F0C80E 94,1 % 78,5 % 0 5,3 % 49,5 ° 50,5 ° 88,8 % 82,1 % 94,1 % 49,8 % 59,3 % 74,8 % 94,4 % 89,3 % 91,1 %
#B430E5 70,4 % 18,7 % 89,7 % 283,7 ° 284,8 ° 71% 63,6 % 89,7 % 54,3 % 59,6 % 42,3 % 79,2 % 77,5 % 68,6 %
#ED7651 93,1 % 46,3 % 31,6 % 14.3 ° 13.2 ° 61,5 % 55,6 % 93,1 % 62,4 % 57% 58,6 % 66,1 % 81,7 % 44,6 %
#FEF888 99,8 % 97,4 % 53,2 % 56,9 ° 57,4 ° 46,6 % 45,4 % 99,8 % 76,5 % 83,5 % 93,1 % 46,7 % 99,1 % 36,3 %
#19CB97 0 9,9 % 79,5 % 59,1 % 162,4 ° 163,4 ° 69,6 % 62% 79,5 % 44,7 % 49,5 % 56,4 % 87,5 % 77,9 % 80%
#362698 21,1 % 14,9 % 59,7 % 248,3 ° 247,3 ° 44,8 % 42% 59,7 % 37,3 % 31,9 % 21,9 % 75% 60,1 % 53,3 %
#7E7EB8 49,5 % 49,3 % 72,1 % 240,5 ° 240,4 ° 22,8 % 22,7 % 72,1 % 60,8 % 57% 52% 31,6 % 29% 13,5 %

Utilisation dans le logiciel de l’utilisateur final

Fig. 16a–g. Dans les années 1990, les outils de sélection de couleurs HSL et HSV étaient omniprésents. Les captures d’écran ci-dessus sont tirées de :
· (a) SGI IRIX 5, c. 1995 ;
· (b) Adobe Photoshop , c. 1990 ;
· (c) IBM OS/2 Warp 3, c. 1994 ;
· (d) Apple Macintosh System 7 , c. 1996 ;
· (e) Peintre de conception fractale , c. 1993 ;
· (f) Microsoft Windows 3.1 , c. 1992 ;
· (g) NeXTSTEP , c. 1995.
Celles-ci sont sans aucun doute basées sur des exemples antérieurs, remontant au PARC et au NYIT au milieu des années 1970. [L]

L’objectif initial de HSL et HSV et des modèles similaires, et leur application actuelle la plus courante, réside dans les outils de sélection de couleurs . Dans leur forme la plus simple, certains de ces sélecteurs de couleurs fournissent trois curseurs, un pour chaque attribut. La plupart, cependant, affichent une tranche bidimensionnelle à travers le modèle, ainsi qu’un curseur contrôlant quelle tranche particulière est affichée. Ce dernier type d’interface graphique présente une grande variété, en raison du choix de cylindres, de prismes hexagonaux ou de cônes/bicônes suggérés par les modèles (voir le schéma en haut de la page). Plusieurs sélecteurs de couleurs des années 1990 sont présentés à droite, dont la plupart sont restés pratiquement inchangés entre-temps : aujourd’hui, presque tous les sélecteurs de couleurs informatiques utilisent HSL ou HSV, au moins en option. Certaines variantes plus sophistiquées sont conçues pour choisir des ensembles complets de couleurs, en basant leurs suggestions de couleurs compatibles sur les relations HSL ou HSV entre elles. [M]

La plupart des applications Web nécessitant une sélection de couleurs basent également leurs outils sur HSL ou HSV, et des sélecteurs de couleurs open source pré-packagés existent pour la plupart des principaux frameworks frontaux Web . La spécification CSS 3 permet aux auteurs Web de spécifier les couleurs de leurs pages directement avec les coordonnées HSL. [N] [32]

HSL et HSV sont parfois utilisés pour définir des gradients pour la Visualisation de données , comme dans les cartes ou les images médicales. Par exemple, le programme SIG populaire ArcGIS appliquait historiquement des gradients personnalisables basés sur HSV aux données géographiques numériques. [O]

Xv hsv-modification.png Xv hsv-modification.png Fig. 17. Modificateur de couleur basé sur HSV de xv . PS 2.5 hue-saturation tool.png PS 2.5 hue-saturation tool.png Fig. 18. L’outil de teinte/saturation dans Photoshop 2.5, env. 1992.

Les logiciels d’ édition d’ images comprennent également couramment des outils d’ajustement des couleurs en référence aux coordonnées HSL ou HSV, ou aux coordonnées dans un modèle basé sur “l’intensité” ou la luminance définie ci-dessus . En particulier, les outils avec une paire de curseurs “teinte” et “saturation” sont courants, datant au moins de la fin des années 1980, mais divers outils de couleur plus compliqués ont également été implémentés. Par exemple, la visionneuse d’images et l’éditeur de couleurs Unix xv permettaient de faire pivoter et de redimensionner six plages de teintes ( H ) définissables par l’utilisateur , incluaient un contrôle de type cadran pour la saturation ( S HSV ) et une interface de type courbe pour contrôler la valeur ( V)—voir fig. 17. L’éditeur d’images Picture Window Pro comprend un outil de “correction des couleurs” qui permet un remappage complexe des points dans un plan de teinte/saturation par rapport à l’espace HSL ou HSV. [P]

Les éditeurs vidéo utilisent également ces modèles. Par exemple, Avid et Final Cut Pro incluent des outils de couleur basés sur HSL ou une géométrie similaire pour une utilisation en ajustant la couleur dans la vidéo. Avec l’outil Avid, les utilisateurs sélectionnent un vecteur en cliquant sur un point dans le cercle de teinte/saturation pour décaler toutes les couleurs à un certain niveau de luminosité (ombres, tons moyens, hautes lumières) par ce vecteur.

Depuis la version 4.0, les modes de fusion “Luminosité”, “Teinte”, “Saturation” et “Couleur” d’Adobe Photoshop utilisent des calques composites utilisant une géométrie de couleur luma/chroma/hue. Celles-ci ont été largement copiées, mais plusieurs imitateurs utilisent à la place les géométries HSL (par exemple PhotoImpact , Paint Shop Pro ) ou HSV. [Q] [R]

Utilisation dans l’analyse d’images

HSL, HSV, HSI ou des modèles associés sont souvent utilisés dans la vision par ordinateur et l’analyse d’images pour la détection de caractéristiques ou la segmentation d’images . Les applications de tels outils incluent la détection d’objets, par exemple en vision robotique ; la Reconnaissance d’objets , par exemple des visages , du texte ou des plaques d’immatriculation ; récupération d’images basée sur le contenu ; et analyse d’images médicales . [31]

Pour la plupart, les algorithmes de vision par ordinateur utilisés sur les images couleur sont des extensions directes des algorithmes conçus pour les images en niveaux de gris , par exemple les k-means ou le regroupement flou des couleurs de pixels, ou la détection astucieuse des contours . Au plus simple, chaque composante de couleur est passée séparément par le même algorithme. Il est donc important que les caractéristiques d’intérêt puissent être distinguées dans les dimensions de couleur utilisées. Parce que R , G et Bles composants de la couleur d’un objet dans une image numérique sont tous corrélés avec la quantité de lumière frappant l’objet, et donc les uns avec les autres, les descriptions d’image en termes de ces composants rendent la discrimination des objets difficile. Les descriptions en termes de teinte/clarté/chroma ou teinte/clarté/saturation sont souvent plus pertinentes. [31]

À partir de la fin des années 1970, des transformations telles que HSV ou HSI ont été utilisées comme compromis entre l’efficacité de la segmentation et la complexité de calcul. Ils peuvent être considérés comme similaires dans leur approche et leur intention au traitement neuronal utilisé par la vision humaine des couleurs, sans s’accorder sur les détails : si l’objectif est la détection d’objets, séparer grossièrement la teinte, la luminosité et la saturation ou la saturation est efficace, mais il n’y a pas raison particulière d’imiter strictement la réponse des couleurs humaines. La thèse de maîtrise de John Kender en 1976 proposait le modèle HSI. Ohta et al. (1980) ont plutôt utilisé un modèle composé de dimensions similaires à celles que nous avons appelées I , α et β. Ces dernières années, ces modèles ont continué à être largement utilisés, car leurs performances se comparent favorablement à des modèles plus complexes et leur simplicité de calcul reste convaincante. [S] [31] [39] [40] [41]

Désavantages

A full-color image shows a high-contrast and quite dramatic scene of a fire breather with a large orange-yellow flame extending from his lips. He wears dark but colorful orange-red clothing. Figure 13a. Photographie couleur (espace colorimétrique sRGB). A grayscale image showing the <a href='/?s=CIELAB'>CIELAB</a> lightness component of the photograph appears to be a faithful rendering of the scene: it looks roughly like a black-and-white photograph taken on panchromatic film would look, with clear detail in the flame, which is much brighter than the man’s outfit or the background.” height=”162″  data-src=”//upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Fire-breather_CIELAB_L%2A.jpg/220px-Fire-breather_CIELAB_L%2A.jpg” width=”220″> <img alt=CIELAB lightness component of the photograph appears to be a faithful rendering of the scene: it looks roughly like a black-and-white photograph taken on panchromatic film would look, with clear detail in the flame, which is much brighter than the man’s outfit or the background.” height=”162″ data-src=”//upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Fire-breather_CIELAB_L%2A.jpg/220px-Fire-breather_CIELAB_L%2A.jpg” width=”220″> Figure 13b. CIELAB L * (retransformé en sRGB pour un affichage cohérent). A grayscale image showing the luma appears roughly similar to the <a href='/?s=CIELAB'>CIELAB</a> lightness image, but is a bit brighter in areas which were originally very colorful.” height=”162″  data-src=”//upload.wikimedia.org/wikipedia/commons/thumb/2/28/Fire-breather_601_Luma_Y%27.jpg/220px-Fire-breather_601_Luma_Y%27.jpg” width=”220″> <img alt=CIELAB lightness image, but is a bit brighter in areas which were originally very colorful.” height=”162″ data-src=”//upload.wikimedia.org/wikipedia/commons/thumb/2/28/Fire-breather_601_Luma_Y%27.jpg/220px-Fire-breather_601_Luma_Y%27.jpg” width=”220″> Figure 13c. Rec. 601 luma Y’ . A grayscale image showing the component average (HSI intensity) of the photograph is much a less convincing facsimile of the color photograph, with reduced contrast, especially with its flame darker than in the original. A grayscale image showing the component average (HSI intensity) of the photograph is much a less convincing facsimile of the color photograph, with reduced contrast, especially with its flame darker than in the original. Figure 13d. Moyenne composante : « intensité » I . A grayscale image showing the HSV value component of the photograph leaves the flame completely white (in photographer's parlance, "blown out"), and the man's clothing much too bright. A grayscale image showing the HSV value component of the photograph leaves the flame completely white (in photographer's parlance, "blown out"), and the man's clothing much too bright. Figure 13e. Valeur HSV V . A grayscale image showing the HSL lightness component of the photograph renders the flame, as approximately middle gray, and ruins the dramatic effect of the original by radically reducing its contrast. A grayscale image showing the HSL lightness component of the photograph renders the flame, as approximately middle gray, and ruins the dramatic effect of the original by radically reducing its contrast. Figure 13f. HSL légèreté L .

Bien qu’aucune des dimensions de ces espaces ne corresponde à leurs analogues perceptifs, la valeur de HSV et la saturation de HSL sont des délinquants particuliers. En HSV, le primaire bleu et blanc sont considérés comme ayant la même valeur, même si perceptuellement la primaire bleue a environ 10 % de la luminance du blanc (la fraction exacte dépend des primaires RVB particulières utilisées). En HSL, un mélange de 100 % de rouge, 100 % de vert, 90 % de bleu, c’est-à-dire un jaune très clair —est tenu pour avoir la même saturation que le primaire vert , même si la première couleur n’a presque pas de chroma ou de saturation selon les définitions psychométriques conventionnelles. De telles perversités ont conduit Cynthia Brewer, experte en choix de combinaisons de couleurs pour les cartes et les affichages d’informations, à dire à l’ American Statistical Association :

L’informatique offre quelques cousins ​​plus pauvres à ces espaces perceptuels qui peuvent également apparaître dans votre interface logicielle, tels que HSV et HLS. Ce sont des transformations mathématiques faciles de RVB, et ils semblent être des systèmes perceptuels car ils utilisent la terminologie teinte-clarté/valeur-saturation. Mais regardez bien ; ne soyez pas dupe. Les dimensions de couleur perceptuelles sont mal mises à l’échelle par les spécifications de couleur qui sont fournies dans ces systèmes et dans certains autres. Par exemple, la saturation et la luminosité sont confondues, donc une échelle de saturation peut également contenir une large gamme de luminosités (par exemple, elle peut progresser du blanc au vert qui est une combinaison à la fois de luminosité et de saturation). De même, la teinte et la luminosité sont confondues, ainsi, par exemple, un jaune saturé et un bleu saturé peuvent être désignés comme la même « luminosité » mais ont de grandes différences dans la légèreté perçue. Ces défauts rendent les systèmes difficiles à utiliser pour contrôler l’apparence d’un jeu de couleurs de manière systématique. Si de nombreux ajustements sont nécessaires pour obtenir l’effet souhaité, le système offre peu d’avantages par rapport aux spécifications brutes en RVB ou CMJ.[42]

Si ces problèmes rendent HSL et HSV problématiques pour le choix des couleurs ou des schémas de couleurs, ils les rendent bien pires pour le réglage de l’image. HSL et HSV, comme l’a mentionné Brewer, confondent les attributs perceptuels de création de couleurs, de sorte que la modification de n’importe quelle dimension entraîne des changements non uniformes dans les trois dimensions perceptuelles et déforme toutes les relations de couleur dans l’image. Par exemple, faire pivoter la teinte d’un bleu foncé pur vers le vert réduira également sa saturation perçue et augmentera sa luminosité perçue (cette dernière est plus grise et plus claire), mais la même rotation de teinte aura l’impact opposé sur la luminosité et la saturation d’un vert bleuâtre plus clair – pour (ce dernier est plus coloré et légèrement plus foncé). Dans l’exemple ci-dessous ( fig. 21 ), l’image de gauche (a) est la photographie originale d’une Tortue verte . Dans l’image du milieu (b), nous avons fait pivoter la teinte ( H ) de chaque couleur de −30° , tout en gardant la valeur HSV et la saturation ou la luminosité et la saturation HSL constantes. Dans l’image de droite (c), on fait la même rotation vers la teinte HSL/HSV de chaque couleur, mais ensuite on force la luminosité CIELAB ( L*, une bonne approximation de la légèreté perçue) pour rester constant. Remarquez comment la version intermédiaire à teinte décalée sans une telle correction modifie considérablement les relations de luminosité perçues entre les couleurs de l’image. En particulier, la carapace de la tortue est beaucoup plus sombre et a moins de contraste, et l’eau de fond est beaucoup plus claire.

Figure 21a. Photographie couleur. Figure 21b. Teinte HSL/HSV de chaque couleur décalée de −30° . Figure 21c. Teinte décalée mais légèreté CIELAB ( L *) conservée comme dans l’original.

La teinte étant une grandeur circulaire, représentée numériquement avec une discontinuité à 360°, elle est difficilement utilisable dans des calculs statistiques ou des comparaisons quantitatives : l’analyse nécessite l’utilisation de statistiques circulaires . [43] De plus, la teinte est définie par morceaux, en morceaux de 60°, où la relation entre la luminosité, la valeur et la saturation avec R , G et B dépend du morceau de teinte en question. Cette définition introduit des discontinuités, des angles bien visibles dans les tranches horizontales de HSL ou HSV. [44]

Charles Poynton, expert en vidéo numérique, énumère les problèmes ci-dessus avec HSL et HSV dans sa FAQ sur la couleur et conclut que :

HSB et HLS ont été développés pour spécifier la teinte numérique, la saturation et la luminosité (ou la teinte, la luminosité et la saturation) à une époque où les utilisateurs devaient spécifier les couleurs numériquement. Les formulations habituelles de HSB et HLS sont défectueuses en ce qui concerne les propriétés de vision des couleurs. Maintenant que les utilisateurs peuvent choisir les couleurs visuellement, ou choisir des couleurs liées à d’autres médias (comme PANTONE ), ou utiliser des systèmes basés sur la perception comme L*u*v* et L*a*b* , HSB et HLS devraient être abandonnés. [45]

Autres modèles de couleurs à coordonnées cylindriques

Les créateurs de HSL et HSV étaient loin d’être les premiers à imaginer des couleurs s’inscrivant dans des formes coniques ou sphériques, avec des neutres allant du noir au blanc dans un axe central, et des teintes correspondant à des angles autour de cet axe. Des arrangements similaires remontent au XVIIIe siècle et continuent d’être développés dans les modèles les plus modernes et scientifiques.

Formules de conversion des couleurs

Pour convertir de HSL ou HSV en RVB, nous inversons essentiellement les étapes énumérées ci- dessus (comme précédemment, R , G , B [0, 1] ). Tout d’abord, nous calculons le chroma, en multipliant la saturation par le chroma maximum pour une luminosité ou une valeur donnée. Ensuite, nous trouvons le point sur l’une des trois faces inférieures du cube RVB qui a la même teinte et la même saturation que notre couleur (et se projette donc sur le même point dans le plan de chromaticité). Enfin, nous ajoutons des quantités égales de R , G et B pour atteindre la luminosité ou la valeur appropriée. [G]

Vers RVB

HSL vers RVB

Étant donné une couleur avec une teinte H [0°, 360°] , une saturation S L [0, 1] et une luminosité L [0, 1] , nous trouvons d’abord la chrominance :

C = ( 1 − | 2 L − 1 | ) × S L {displaystyle C=(1-leftvert 2L-1rightvert )times S_{L}} {displaystyle C=(1-leftvert 2L-1rightvert )times S_{L}} {displaystyle C=(1-leftvert 2L-1rightvert )times S_{L}}

Ensuite, nous pouvons trouver un point ( R 1 , G 1 , B 1 ) le long des trois faces inférieures du cube RVB, avec la même teinte et la même saturation que notre couleur (en utilisant la valeur intermédiaire X pour la deuxième plus grande composante de cette couleur) :

H ′ = H 60 ∘ {displaystyle H^{prime}={frac {H}{60^{circ }}}} {displaystyle H^{prime }={frac {H}{60^{circ }}}} {displaystyle H^{prime }={frac {H}{60^{circ }}}} X = C × ( 1 − | H ′ mod 2 − 1 | ) {displaystyle X=Ctimes (1-|H^{prime};{bmod {2}}-1|)} {displaystyle X=Ctimes (1-|H^{prime };{bmod {2}}-1|)} {displaystyle X=Ctimes (1-|H^{prime };{bmod {2}}-1|)}

Dans l’équation ci-dessus, la notation H ′ mod 2 {displaystyle H^{prime };{bmod {2}}} {displaystyle H^{prime };{bmod {2}}} {displaystyle H^{prime };{bmod {2}}}désigne le reste de la division euclidienne de H ′ {displaystyle H^{prime}} H^prime H^primepar 2. H ′ {displaystyle H^{prime}} H^prime H^primen’est pas nécessairement un entier.

( R 1 , G 1 , B 1 ) = { ( C , X , 0 ) if 0 ≤ H ′ < 1 ( X , C , 0 ) if 1 ≤ H ′ < 2 ( 0 , C , X ) if 2 ≤ H ′ < 3 ( 0 , X , C ) if 3 ≤ H ′ < 4 ( X , 0 , C ) if 4 ≤ H ′ < 5 ( C , 0 , X ) if 5 ≤ H ′ < 6 {displaystyle (R_{1},G_{1},B_{1})={begin{cases}(C,X,0)&{text{if }}0leq H^{prime } <1\(X,C,0)&{text{if }}1leq H^{prime }<2\(0,C,X)&{text{if }}2leq H^{prime }<3\(0,X,C)&{text{if}}3leq H^{prime }<4\(X,0,C)&{text{ si }}4leq H^{prime }<5\(C,0,X)&{text{if }}5leq H^{prime }<6end{cases}}} {displaystyle (R_{1},G_{1},B_{1})={begin{cases}(C,X,0)&{text{if }}0leq H^{prime }<1\(X,C,0)&{text{if }}1leq H^{prime }<2\(0,C,X)&{text{if }}2leq H^{prime }<3\(0,X,C)&{text{if }}3leq H^{prime }<4\(X,0,C)&{text{if }}4leq H^{prime }<5\(C,0,X)&{text{if }}5leq H^{prime }<6end{cases}}} {displaystyle (R_{1},G_{1},B_{1})={begin{cases}(C,X,0)&{text{if }}0leq H^{prime }<1\(X,C,0)&{text{if }}1leq H^{prime }<2\(0,C,X)&{text{if }}2leq H^{prime }<3\(0,X,C)&{text{if }}3leq H^{prime }<4\(X,0,C)&{text{if }}4leq H^{prime }<5\(C,0,X)&{text{if }}5leq H^{prime }<6end{cases}}}

Lorsque H ′ {displaystyle H^{prime}} H^prime H^primeest un entier, la formule “voisine” donnerait le même résultat, car X = 0 {displaystyle X=0} X=0 X=0ou alors X = C {displaystyle X=C} {displaystyle X=C} {displaystyle X=C}, selon le cas.

Enfin, nous pouvons trouver R , G et B en ajoutant la même quantité à chaque composant, pour correspondre à la légèreté :

m = L − C 2 {displaystyle m=L-{frac {C}{2}}} {displaystyle m=L-{frac {C}{2}}} {displaystyle m=L-{frac {C}{2}}} ( R , G , B ) = ( R 1 + m , G 1 + m , B 1 + m ) {displaystyle (R,G,B)=(R_{1}+m,G_{1}+m,B_{1}+m)} {displaystyle (R,G,B)=(R_{1}+m,G_{1}+m,B_{1}+m)} {displaystyle (R,G,B)=(R_{1}+m,G_{1}+m,B_{1}+m)} Alternative HSL à RVB

Les fonctions polygonales par morceaux peuvent être quelque peu simplifiées par une utilisation intelligente des valeurs minimales et maximales ainsi que de l’opération de reste.

Étant donné une couleur avec une teinte H [ 0 ∘ , 360 ∘ ] {displaystyle Hin [0^{circ },360^{circ }]} {displaystyle Hin [0^{circ },360^{circ }]} {displaystyle Hin [0^{circ },360^{circ }]}, saturation S = S L [ 0 , 1 ] {displaystyle S=S_{L}in [0,1]} {displaystyle S=S_{L}in [0,1]} {displaystyle S=S_{L}in [0,1]}, et légèreté L [ 0 , 1 ] {displaystyle Ldans [0,1]} {displaystyle Lin [0,1]} {displaystyle Lin [0,1]}, on définit d’abord la fonction :

f ( n ) = L − a max ( − 1 , min ( k − 3 , 9 − k , 1 ) ) {displaystyle f(n)=Lamax(-1,min(k-3,9-k,1))} {displaystyle f(n)=L-amax(-1,min(k-3,9-k,1))} {displaystyle f(n)=L-amax(-1,min(k-3,9-k,1))}

où k , n R ≥ 0 {displaystyle k,nin mathbb {R} _{geq 0}} {displaystyle k,nin mathbb {R} _{geq 0}} {displaystyle k,nin mathbb {R} _{geq 0}}et:

k = ( n + H 30 ∘ ) mod 1 2 {displaystyle k=(n+{frac {H}{30^{circ }}}){bmod {1}}2} {displaystyle k=(n+{frac {H}{30^{circ }}}){bmod {1}}2} {displaystyle k=(n+{frac {H}{30^{circ }}}){bmod {1}}2} a = S L min ( L , 1 − L ) {displaystyle a=S_{L}min(L,1-L)} {displaystyle a=S_{L}min(L,1-L)} {displaystyle a=S_{L}min(L,1-L)}

Et sortir les valeurs R, G, B (depuis [ 0 , 1 ] 3 {style d’affichage [0,1]^{3}} [0,1]^{3} [0,1]^{3}) sont:

( R , G , B ) = ( f ( 0 ) , f ( 8 ) , f ( 4 ) ) {displaystyle (R,G,B)=(f(0),f(8),f(4))} {displaystyle (R,G,B)=(f(0),f(8),f(4))} {displaystyle (R,G,B)=(f(0),f(8),f(4))}

Les formules alternatives ci-dessus permettent des implémentations plus courtes. Dans les formules ci-dessus, le a mod b {displaystyle a{bmod {b}}} {displaystyle a{bmod {b}}} {displaystyle a{bmod {b}}}l’opération renvoie également la partie fractionnaire du module, par exemple 7.4 mod 6 = 1.4 {displaystyle 7.4{bmod {6}}=1.4} {displaystyle 7.4{bmod {6}}=1.4} , et k [ 0 , 12 ) {displaystyle kin [0,12)} {displaystyle kin [0,12)} .

La forme de base T ( k ) = t ( n , H ) = max ( min ( k − 3 , 9 − k , 1 ) , − 1 ) {displaystyle T(k)=t(n,H)=max(min(k-3,9-k,1),-1)} {displaystyle T(k)=t(n,H)=max(min(k-3,9-k,1),-1)} est construit comme suit : t 1 = min ( k − 3 , 9 − k ) {displaystyle t_{1}=min(k-3,9-k)} {displaystyle t_{1}=min(k-3,9-k)} {displaystyle t_{1}=min(k-3,9-k)}est un “triangle” pour lequel les valeurs supérieures ou égales à -1 partent de k=2 et finissent à k=10, et le point le plus haut est à k=6. Puis par t 2 = min ( t 1 , 1 ) = min ( k − 3 , 9 − k , 1 ) {displaystyle t_{2}=min(t_{1},1)=min(k-3,9-k,1)} {displaystyle t_{2}=min(t_{1},1)=min(k-3,9-k,1)} {displaystyle t_{2}=min(t_{1},1)=min(k-3,9-k,1)}nous changeons les valeurs supérieures à 1 en égales à 1. Puis par t = max ( t 2 , − 1 ) {displaystyle t=max(t_{2},-1)} {displaystyle t=max(t_{2},-1)} {displaystyle t=max(t_{2},-1)}nous changeons les valeurs inférieures à −1 en égales à −1. À ce stade, nous obtenons quelque chose de similaire à la forme rouge de la fig. 24 après un retournement vertical (où le maximum est 1 et le minimum est -1). Les fonctions R,G,B de H {displaystyle H} H Hutiliser cette forme transformée de la manière suivante : décalée modulo sur X {displaystyle X} X X(par n {displaystyle n} n n) (différemment pour R, G, B) mis à l’échelle sur Y {displaystyle Y} Y Y(par − a {displaystyle -a} -a -a) et mis en marche Y {displaystyle Y} Y Y(par L {displaystyle L} L L).

Nous observons les propriétés de forme suivantes (la Fig. 24 peut aider à avoir une intuition à leur sujet) :

t ( n , H ) = − t ( n + 6 , H ) {displaystyle t(n,H)=-t(n+6,H)} {displaystyle t(n,H)=-t(n+6,H)} {displaystyle t(n,H)=-t(n+6,H)} min ( t ( n , H ) , t ( n + 4 , H ) , t ( n + 8 , H ) ) = − 1 {displaystyle min (t(n,H),t(n+4,H),t(n+8,H))=-1} {displaystyle min  (t(n,H),t(n+4,H),t(n+8,H))=-1} {displaystyle min  (t(n,H),t(n+4,H),t(n+8,H))=-1} max ( t ( n , H ) , t ( n + 4 , H ) , t ( n + 8 , H ) ) = + 1 {displaystyle max (t(n,H),t(n+4,H),t(n+8,H))=+1} {displaystyle max  (t(n,H),t(n+4,H),t(n+8,H))=+1} {displaystyle max  (t(n,H),t(n+4,H),t(n+8,H))=+1} HSV vers RVB Fig. 24. Une représentation graphique des coordonnées RVB données pour HSV. Cette équation V ( 1 − S ) = V − V S {displaystyle V(1-S)=V-VS} {displaystyle V(1-S)=V-VS} {displaystyle V(1-S)=V-VS}montre l’origine des valeurs marquées de l’axe vertical

Étant donné une couleur HSV avec une teinte H [0°, 360°] , une saturation S V [0, 1] et une valeur V [0, 1] , nous pouvons utiliser la même stratégie. Tout d’abord, nous trouvons la chrominance :

C = V × S V {displaystyle C=Vfois S_{V}} {displaystyle C=Vtimes S_{V}} {displaystyle C=Vtimes S_{V}}

Ensuite, nous pouvons, à nouveau, trouver un point ( R 1 , G 1 , B 1 ) le long des trois faces inférieures du cube RVB, avec la même teinte et la même saturation que notre couleur (en utilisant la valeur intermédiaire X pour la deuxième plus grande composante de cette couleur):

H ′ = H 60 ∘ {displaystyle H^{prime}={frac {H}{60^{circ }}}} {displaystyle H^{prime }={frac {H}{60^{circ }}}} {displaystyle H^{prime }={frac {H}{60^{circ }}}} X = C × ( 1 − | H ′ mod 2 − 1 | ) {displaystyle X=Ctimes (1-|H^{prime }{bmod {2}}-1|)} {displaystyle X=Ctimes (1-|H^{prime }{bmod {2}}-1|)} {displaystyle X=Ctimes (1-|H^{prime }{bmod {2}}-1|)} ( R 1 , G 1 , B 1 ) = { ( C , X , 0 ) if 0 ≤ H ′ < 1 ( X , C , 0 ) if 1 ≤ H ′ < 2 ( 0 , C , X ) if 2 ≤ H ′ < 3 ( 0 , X , C ) if 3 ≤ H ′ < 4 ( X , 0 , C ) if 4 ≤ H ′ < 5 ( C , 0 , X ) if 5 ≤ H ′ < 6 {displaystyle (R_{1},G_{1},B_{1})={begin{cases}(C,X,0)&{text{if }}0leq H^{prime } <1\(X,C,0)&{text{if }}1leq H^{prime }<2\(0,C,X)&{text{if }}2leq H^{prime }<3\(0,X,C)&{text{if}}3leq H^{prime }<4\(X,0,C)&{text{ si }}4leq H^{prime }<5\(C,0,X)&{text{if }}5leq H^{prime }<6end{cases}}} {displaystyle (R_{1},G_{1},B_{1})={begin{cases}(C,X,0)&{text{if }}0leq H^{prime }<1\(X,C,0)&{text{if }}1leq H^{prime }<2\(0,C,X)&{text{if }}2leq H^{prime }<3\(0,X,C)&{text{if }}3leq H^{prime }<4\(X,0,C)&{text{if }}4leq H^{prime }<5\(C,0,X)&{text{if }}5leq H^{prime }<6end{cases}}} {displaystyle (R_{1},G_{1},B_{1})={begin{cases}(C,X,0)&{text{if }}0leq H^{prime }<1\(X,C,0)&{text{if }}1leq H^{prime }<2\(0,C,X)&{text{if }}2leq H^{prime }<3\(0,X,C)&{text{if }}3leq H^{prime }<4\(X,0,C)&{text{if }}4leq H^{prime }<5\(C,0,X)&{text{if }}5leq H^{prime }<6end{cases}}}

Comme avant, quand H ′ {displaystyle H^{prime}} H^prime H^primeest un nombre entier, les formules “voisines” donneraient le même résultat.

Enfin, nous pouvons trouver R , G et B en ajoutant le même montant à chaque composant, pour correspondre à la valeur :

m = V − C {displaystyle m=VC} {displaystyle m=V-C} {displaystyle m=V-C} ( R , G , B ) = ( R 1 + m , G 1 + m , B 1 + m ) {displaystyle (R,G,B)=(R_{1}+m,G_{1}+m,B_{1}+m)} {displaystyle (R,G,B)=(R_{1}+m,G_{1}+m,B_{1}+m)} {displaystyle (R,G,B)=(R_{1}+m,G_{1}+m,B_{1}+m)} Alternative HSV à RVB

Étant donné une couleur avec une teinte H [ 0 ∘ , 360 ∘ ] {displaystyle Hin [0^{circ },360^{circ }]} {displaystyle Hin [0^{circ },360^{circ }]} {displaystyle Hin [0^{circ },360^{circ }]}, saturation S = S V [ 0 , 1 ] {displaystyle S=S_{V}in [0,1]} {displaystyle S=S_{V}in [0,1]} {displaystyle S=S_{V}in [0,1]}, et la valeur V [ 0 , 1 ] {displaystyle Vdans [0,1]} Vin [0,1] Vin [0,1], nous définissons d’abord la fonction :

f ( n ) = V − V S max ( 0 , min ( k , 4 − k , 1 ) ) {displaystyle f(n)=V-VSmax(0,min(k,4-k,1))} {displaystyle f(n)=V-VSmax(0,min(k,4-k,1))} {displaystyle f(n)=V-VSmax(0,min(k,4-k,1))}

où k , n R ≥ 0 {displaystyle k,nin mathbb {R} _{geq 0}} {displaystyle k,nin mathbb {R} _{geq 0}} {displaystyle k,nin mathbb {R} _{geq 0}}et:

k = ( n + H 60 ∘ ) mod 6 {displaystyle k=(n+{frac {H}{60^{circ }}}){bmod {6}}} {displaystyle k=(n+{frac {H}{60^{circ }}}){bmod {6}}} {displaystyle k=(n+{frac {H}{60^{circ }}}){bmod {6}}}

Et sortir les valeurs R, G, B (depuis [ 0 , 1 ] 3 {style d’affichage [0,1]^{3}} [0,1]^{3} [0,1]^{3}) sont:

( R , G , B ) = ( f ( 5 ) , f ( 3 ) , f ( 1 ) ) {displaystyle (R,G,B)=(f(5),f(3),f(1))} {displaystyle (R,G,B)=(f(5),f(3),f(1))} {displaystyle (R,G,B)=(f(5),f(3),f(1))}

Les formules équivalentes alternatives ci-dessus permettent une mise en œuvre plus courte. Dans les formules ci-dessus, le a mod b {displaystyle a{bmod {b}}} {displaystyle a{bmod {b}}} {displaystyle a{bmod {b}}}renvoie également la partie fractionnaire du module, par exemple la formule 7.4 mod 6 = 1.4 {displaystyle 7.4{bmod {6}}=1.4} {displaystyle 7.4{bmod {6}}=1.4} {displaystyle 7.4{bmod {6}}=1.4}. Les valeurs de k R ∧ k [ 0 , 6 ) {displaystyle kin mathbb {R} land kin [0,6)} {displaystyle kin mathbb {R} land kin [0,6)} {displaystyle kin mathbb {R} land kin [0,6)}. La forme de base

t ( n , H ) = T ( k ) = max ( 0 , min ( k , 4 − k , 1 ) ) {displaystyle t(n,H)=T(k)=max(0,min(k,4-k,1))} {displaystyle t(n,H)=T(k)=max(0,min(k,4-k,1))} {displaystyle t(n,H)=T(k)=max(0,min(k,4-k,1))}

est construit comme suit : t 1 = min ( k , 4 − k ) {displaystyle t_{1}=min(k,4-k)} {displaystyle t_{1}=min(k,4-k)} {displaystyle t_{1}=min(k,4-k)}est un “triangle” pour lequel les valeurs non négatives commencent à k=0, le point le plus élevé à k=2 et “se termine” à k=4, alors nous changeons les valeurs supérieures à un en un par t 2 = min ( t 1 , 1 ) = min ( k , 4 − k , 1 ) {displaystyle t_{2}=min(t_{1},1)=min(k,4-k,1)} {displaystyle t_{2}=min(t_{1},1)=min(k,4-k,1)} {displaystyle t_{2}=min(t_{1},1)=min(k,4-k,1)}, puis remplacez les valeurs négatives par zéro par t = max ( t 2 , 0 ) {displaystyle t=max(t2,0)} {displaystyle t=max(t2,0)} {displaystyle t=max(t2,0)}– et on obtient (pour n = 0 {displaystyle n=0} n=0 n=0) quelque chose de similaire à la forme verte de la Fig. 24 (dont la valeur maximale est 1 et la valeur minimale est 0). Les fonctions R,G,B de H {displaystyle H} H utiliser cette forme transformée de la manière suivante : décalée modulo sur X {displaystyle X} X (par n {displaystyle n} n ) (différemment pour R, G, B) mis à l’échelle sur Y {displaystyle Y} Y (par − V S {displaystyle -VS} {displaystyle -VS} ) et mis en marche Y {displaystyle Y} Y (par V {style d’affichage V} V ). Nous observons les propriétés de forme suivantes (la Fig. 24 peut aider à avoir une intuition à ce sujet) :

t ( n , H ) = 1 − t ( n + 3 , H ) {displaystyle t(n,H)=1-t(n+3,H)} {displaystyle t(n,H)=1-t(n+3,H)} {displaystyle t(n,H)=1-t(n+3,H)} min ( t ( n , H ) , t ( n + 2 , H ) , t ( n + 4 , H ) ) = 0 { displaystyle min (t (n, H), t (n + 2, H), t (n + 4, H)) = 0} {displaystyle min(t(n,H),t(n+2,H),t(n+4,H))=0} {displaystyle min(t(n,H),t(n+2,H),t(n+4,H))=0} max ( t ( n , H ) , t ( n + 2 , H ) , t ( n + 4 , H ) ) = 1 { displaystyle max (t (n, H), t (n + 2, H), t (n + 4, H)) = 1} {displaystyle max(t(n,H),t(n+2,H),t(n+4,H))=1} {displaystyle max(t(n,H),t(n+2,H),t(n+4,H))=1} HSI vers RVB

Étant donné une couleur HSI avec une teinte H [0°, 360°] , une saturation S I [0, 1] et une intensité I [0, 1] , nous pouvons utiliser la même stratégie, dans un ordre légèrement différent :

H ′ = H 60 ∘ {displaystyle H^{prime}={frac {H}{60^{circ }}}} {displaystyle H^{prime }={frac {H}{60^{circ }}}} {displaystyle H^{prime }={frac {H}{60^{circ }}}} Z = 1 − | H ′ mod 2 − 1 | {displaystyle Z=1-|H^{prime};{bmod {2}}-1|} {displaystyle Z=1-|H^{prime };{bmod {2}}-1|} {displaystyle Z=1-|H^{prime };{bmod {2}}-1|} C = 3 ⋅ I ⋅ S I 1 + Z {displaystyle C={frac {3cdot Icdot S_{I}}{1+Z}}} {displaystyle C={frac {3cdot Icdot S_{I}}{1+Z}}} {displaystyle C={frac {3cdot Icdot S_{I}}{1+Z}}} X = C ⋅ Z {displaystyle X=Ccdot Z} {displaystyle X=Ccdot Z} {displaystyle X=Ccdot Z}

Où C {displaystyle C} C Cest la chrominance.

Ensuite, nous pouvons, à nouveau, trouver un point ( R 1 , G 1 , B 1 ) le long des trois faces inférieures du cube RVB, avec la même teinte et la même saturation que notre couleur (en utilisant la valeur intermédiaire X pour la deuxième plus grande composante de cette couleur):

( R 1 , G 1 , B 1 ) = { ( 0 , 0 , 0 ) if H is undefined ( C , X , 0 ) if 0 ≤ H ′ ≤ 1 ( X , C , 0 ) if 1 ≤ H ′ ≤ 2 ( 0 , C , X ) if 2 ≤ H ′ ≤ 3 ( 0 , X , C ) if 3 ≤ H ′ ≤ 4 ( X , 0 , C ) if 4 ≤ H ′ ≤ 5 ( C , 0 , X ) if 5 ≤ H ′ < 6 {displaystyle (R_{1},G_{1},B_{1})={begin{cas}(0,0,0)&{text{if }}H{text{ n’est pas défini}} \(C,X,0)&{text{if }}0leq H^{prime }leq 1\(X,C,0)&{text{if }}1leq H ^{prime }leq 2\(0,C,X)&{text{if }}2leq H^{prime }leq 3\(0,X,C)&{text {if }}3leq H^{prime }leq 4\(X,0,C)&{text{if }}4leq H^{prime }leq 5\(C, 0,X)&{text{if }}5leq H^{prime }<6end{cases}}} {displaystyle (R_{1},G_{1},B_{1})={begin{cases}(0,0,0)&{text{if }}H{text{ is undefined}}\(C,X,0)&{text{if }}0leq H^{prime }leq 1\(X,C,0)&{text{if }}1leq H^{prime }leq 2\(0,C,X)&{text{if }}2leq H^{prime }leq 3\(0,X,C)&{text{if }}3leq H^{prime }leq 4\(X,0,C)&{text{if }}4leq H^{prime }leq 5\(C,0,X)&{text{if }}5leq H^{prime }<6end{cases}}} {displaystyle (R_{1},G_{1},B_{1})={begin{cases}(0,0,0)&{text{if }}H{text{ is undefined}}\(C,X,0)&{text{if }}0leq H^{prime }leq 1\(X,C,0)&{text{if }}1leq H^{prime }leq 2\(0,C,X)&{text{if }}2leq H^{prime }leq 3\(0,X,C)&{text{if }}3leq H^{prime }leq 4\(X,0,C)&{text{if }}4leq H^{prime }leq 5\(C,0,X)&{text{if }}5leq H^{prime }<6end{cases}}}

Chevauchement (quand H ′ {displaystyle H^{prime}} H^prime H^primeest un entier) se produit parce que deux façons de calculer la valeur sont équivalentes : X = 0 {displaystyle X=0} X=0 X=0ou alors X = C {displaystyle X=C} {displaystyle X=C} {displaystyle X=C}, selon le cas.

Enfin, nous pouvons trouver R , G et B en ajoutant la même quantité à chaque composant, pour correspondre à la légèreté :

m = I ⋅ ( 1 − S I ) {displaystyle m=Icdot (1-S_{I})} {displaystyle m=Icdot (1-S_{I})} ( R , G , B ) = ( R 1 + m , G 1 + m , B 1 + m ) {displaystyle (R,G,B)=(R_{1}+m,G_{1}+m,B_{1}+m)} {displaystyle (R,G,B)=(R_{1}+m,G_{1}+m,B_{1}+m)} Luma, chroma et teinte en RVB

Étant donné une couleur avec une teinte H [0°, 360°] , chroma C [0, 1] , et luma Y601 [0, 1] , [U] nous pouvons à nouveau utiliser la même stratégie. Puisque nous avons déjà H et C , nous pouvons tout de suite trouver notre point ( R 1 , G 1 , B 1 ) le long des trois faces inférieures du cube RVB :

H ′ = H 60 ∘ X = C × ( 1 − | H ′ mod 2 − 1 | ) {displaystyle {begin{aligned}H^{prime}&={frac {H}{60^{circ }}}\X&=Ctimes (1-|H^{prime }{ bmod {2}}-1|)end{aligné}}} {displaystyle {begin{aligned}H^{prime }&={frac {H}{60^{circ }}}\X&=Ctimes (1-|H^{prime }{bmod {2}}-1|)end{aligned}}} {displaystyle {begin{aligned}H^{prime }&={frac {H}{60^{circ }}}\X&=Ctimes (1-|H^{prime }{bmod {2}}-1|)end{aligned}}} ( R 1 , G 1 , B 1 ) = { ( 0 , 0 , 0 ) if H is undefined ( C , X , 0 ) if 0 ≤ H ′ ≤ 1 ( X , C , 0 ) if 1 ≤ H ′ ≤ 2 ( 0 , C , X ) if 2 ≤ H ′ ≤ 3 ( 0 , X , C ) if 3 ≤ H ′ ≤ 4 ( X , 0 , C ) if 4 ≤ H ′ ≤ 5 ( C , 0 , X ) if 5 ≤ H ′ < 6 {displaystyle (R_{1},G_{1},B_{1})={begin{cas}(0,0,0)&{text{if }}H{text{ n’est pas défini}} \(C,X,0)&{text{if }}0leq H^{prime }leq 1\(X,C,0)&{text{if }}1leq H ^{prime }leq 2\(0,C,X)&{text{if }}2leq H^{prime }leq 3\(0,X,C)&{text {if }}3leq H^{prime }leq 4\(X,0,C)&{text{if }}4leq H^{prime }leq 5\(C, 0,X)&{text{if }}5leq H^{prime }<6end{cases}}} {displaystyle (R_{1},G_{1},B_{1})={begin{cases}(0,0,0)&{text{if }}H{text{ is undefined}}\(C,X,0)&{text{if }}0leq H^{prime }leq 1\(X,C,0)&{text{if }}1leq H^{prime }leq 2\(0,C,X)&{text{if }}2leq H^{prime }leq 3\(0,X,C)&{text{if }}3leq H^{prime }leq 4\(X,0,C)&{text{if }}4leq H^{prime }leq 5\(C,0,X)&{text{if }}5leq H^{prime }<6end{cases}}} {displaystyle (R_{1},G_{1},B_{1})={begin{cases}(0,0,0)&{text{if }}H{text{ is undefined}}\(C,X,0)&{text{if }}0leq H^{prime }leq 1\(X,C,0)&{text{if }}1leq H^{prime }leq 2\(0,C,X)&{text{if }}2leq H^{prime }leq 3\(0,X,C)&{text{if }}3leq H^{prime }leq 4\(X,0,C)&{text{if }}4leq H^{prime }leq 5\(C,0,X)&{text{if }}5leq H^{prime }<6end{cases}}}

Chevauchement (quand H ′ {displaystyle H^{prime}} H^prime H^primeest un entier) se produit parce que deux façons de calculer la valeur sont équivalentes : X = 0 {displaystyle X=0} X=0 X=0ou alors X = C {displaystyle X=C} {displaystyle X=C} {displaystyle X=C}, selon le cas.

Ensuite, nous pouvons trouver R , G et B en ajoutant la même quantité à chaque composant, pour correspondre à luma :

m = Y 601 ′ − ( 0.30 R 1 + 0.59 G 1 + 0.11 B 1 ) {displaystyle m=Y_{601}^{prime}-(0.30R_{1}+0.59G_{1}+0.11B_{1})} {displaystyle m=Y_{601}^{prime }-(0.30R_{1}+0.59G_{1}+0.11B_{1})} {displaystyle m=Y_{601}^{prime }-(0.30R_{1}+0.59G_{1}+0.11B_{1})} ( R , G , B ) = ( R 1 + m , G 1 + m , B 1 + m ) {displaystyle (R,G,B)=(R_{1}+m,G_{1}+m,B_{1}+m)} {displaystyle (R,G,B)=(R_{1}+m,G_{1}+m,B_{1}+m)} {displaystyle (R,G,B)=(R_{1}+m,G_{1}+m,B_{1}+m)}

Interconversion

HSV à HSL

Étant donné une couleur avec une teinte H V [ 0 ∘ , 360 ∘ ] {displaystyle H_{V}in [0^{circ },360^{circ }]} {displaystyle H_{V}in [0^{circ },360^{circ }]} {displaystyle H_{V}in [0^{circ },360^{circ }]}, saturation S V [ 0 , 1 ] {displaystyle S_{V}dans [0,1]} {displaystyle S_{V}in [0,1]} {displaystyle S_{V}in [0,1]}, et la valeur V [ 0 , 1 ] {displaystyle Vdans [0,1]} Vin [0,1] Vin [0,1],

H L = H V {displaystyle H_{L}=H_{V}} {displaystyle H_{L}=H_{V}} {displaystyle H_{L}=H_{V}} L = V ( 1 − S V 2 ) {displaystyle L=Vleft(1-{frac {S_{V}}{2}}right)} {displaystyle L=Vleft(1-{frac {S_{V}}{2}}right)} {displaystyle L=Vleft(1-{frac {S_{V}}{2}}right)} S L = { 0 if L = 0 or L = 1 V − L min ( L , 1 − L ) otherwise {displaystyle S_{L}={begin{cases}0&{text{if }}L=0{text{ ou }}L=1\{frac {VL}{min(L,1 -L)}}&{text{sinon}}\end{cases}}} {displaystyle S_{L}={begin{cases}0&{text{if }}L=0{text{ or }}L=1\{frac {V-L}{min(L,1-L)}}&{text{otherwise}}\end{cases}}} HSL à HSV

Étant donné une couleur avec une teinte H L [ 0 ∘ , 360 ∘ ] {displaystyle H_{L}in [0^{circ },360^{circ }]} {displaystyle H_{L}in [0^{circ },360^{circ }]} {displaystyle H_{L}in [0^{circ },360^{circ }]}, saturation S L [ 0 , 1 ] {displaystyle S_{L}dans [0,1]} {displaystyle S_{L}in [0,1]} {displaystyle S_{L}in [0,1]}, et luminance L [ 0 , 1 ] {displaystyle Ldans [0,1]} {displaystyle Lin [0,1]} {displaystyle Lin [0,1]},

H V = H L {displaystyle H_{V}=H_{L}} {displaystyle H_{V}=H_{L}} {displaystyle H_{V}=H_{L}} V = L + S L min ( L , 1 − L ) {displaystyle V=L+S_{L}min(L,1-L)} {displaystyle V=L+S_{L}min(L,1-L)} {displaystyle V=L+S_{L}min(L,1-L)} S V = { 0 if V = 0 2 ( 1 − L V ) otherwise {displaystyle S_{V}={begin{cases}0&{text{if }}V=0\2left(1-{frac {L}{V}}right)&{text {sinon}}\fin{cas}}} {displaystyle S_{V}={begin{cases}0&{text{if }}V=0\2left(1-{frac {L}{V}}right)&{text{otherwise}}\end{cases}}} {displaystyle S_{V}={begin{cases}0&{text{if }}V=0\2left(1-{frac {L}{V}}right)&{text{otherwise}}\end{cases}}}

De RVB

Ceci est une réitération de la conversion précédente.

La valeur doit être comprise dans la plage R , G , B [ 0 , 1 ] {displaystyle R,G,Bdans [0,1]} {displaystyle R,G,Bin [0,1]} {displaystyle R,G,Bin [0,1]}.

Avec composante maximale (c’est-à-dire valeur)

X m a x := max ( R , G , B ) =: V {displaystyle X_{max} :=max(R,G,B)=:V} {displaystyle X_{max}:=max(R,G,B)=:V} {displaystyle X_{max}:=max(R,G,B)=:V}

et composant minimum

X m i n := min ( R , G , B ) = V − C {displaystyle X_{min} :=min(R,G,B)=VC} {displaystyle X_{min}:=min(R,G,B)=V-C} {displaystyle X_{min}:=min(R,G,B)=V-C},

gamme (c’est-à-dire chroma)

C := X m a x − X m i n = 2 ( V − L ) {displaystyle C :=X_{max}-X_{min}=2(VL)} {displaystyle C:=X_{max}-X_{min}=2(V-L)} {displaystyle C:=X_{max}-X_{min}=2(V-L)}

et milieu de gamme (c’est-à-dire légèreté)

L := mid ⁡ ( R , G , B ) = X m a x + X m i n 2 = V − C 2 {displaystyle L :=operatorname {mid} (R,G,B)={frac {X_{max}+X_{min}}{2}}=V-{frac {C}{2}} } {displaystyle L:=operatorname {mid} (R,G,B)={frac {X_{max}+X_{min}}{2}}=V-{frac {C}{2}}} {displaystyle L:=operatorname {mid} (R,G,B)={frac {X_{max}+X_{min}}{2}}=V-{frac {C}{2}}},

on obtient une teinte commune :

H := { 0 , if C = 0 60 ∘ ⋅ ( 0 + G − B C ) , if V = R 60 ∘ ⋅ ( 2 + B − R C ) , if V = G 60 ∘ ⋅ ( 4 + R − G C ) , if V = B {displaystyle H :={begin{cases}0,&{text{if }}C=0\60^{circ }cdot left(0+{frac {GB}{C}} right),&{text{if }}V=R\60^{circ }cdot left(2+{frac {BR}{C}}right),&{text{if }}V=G\60^{circ }cdot left(4+{frac {RG}{C}}right),&{text{if }}V=Bend{cases} }} {displaystyle H:={begin{cases}0,&{text{if }}C=0\60^{circ }cdot left(0+{frac {G-B}{C}}right),&{text{if }}V=R\60^{circ }cdot left(2+{frac {B-R}{C}}right),&{text{if }}V=G\60^{circ }cdot left(4+{frac {R-G}{C}}right),&{text{if }}V=Bend{cases}}} {displaystyle H :={begin{cases}0,&{text{if }}C=0\60^{circ }cdot left(0+{frac {GB}{C}} right),&{text{if }}V=R\60^{circ }cdot left(2+{frac {BR}{C}}right),&{text{if }}V=G\60^{circ }cdot left(4+{frac {RG}{C}}right),&{text{if }}V=Bend{cases} }}

et saturations distinctes :

S V := { 0 , if V = 0 C V , otherwise {displaystyle S_{V} :={begin{cases}0,&{text{if }}V=0\{frac {C}{V}},&{text{autrement}} fin{cas}}} {displaystyle S_{V}:={begin{cases}0,&{text{if }}V=0\{frac {C}{V}},&{text{otherwise}}end{cases}}} {displaystyle S_{V} :={begin{cases}0,&{text{if }}V=0\{frac {C}{V}},&{text{autrement}} fin{cas}}} S L := { 0 , if L = 0 or L = 1 C 1 − | 2 V − C − 1 | = 2 ( V − L ) 1 − | 2 L − 1 | = V − L min ( L , 1 − L ) , otherwise {displaystyle S_{L} :={begin{cases}0,&{text{if }}L=0{text{ or }}L=1\{frac {C}{1- gauchevert 2V-C-1droitevert }}={frac {2(VL)}{1-gauchevert 2L-1droitevert }}={frac {VL}{min (L,1-L)}},&{text{autrement}}end{cases}}} {displaystyle S_{L}:={begin{cases}0,&{text{if }}L=0{text{ or }}L=1\{frac {C}{1-leftvert 2V-C-1rightvert }}={frac {2(V-L)}{1-leftvert 2L-1rightvert }}={frac {V-L}{min(L,1-L)}},&{text{otherwise}}end{cases}}} {displaystyle S_{L} :={begin{cases}0,&{text{if }}L=0{text{ or }}L=1\{frac {C}{1- gauchevert 2V-C-1droitevert }}={frac {2(VL)}{1-gauchevert 2L-1droitevert }}={frac {VL}{min (L,1-L)}},&{text{autrement}}end{cases}}}

Échantillons

Passez la souris sur les nuances ci-dessous pour voir les valeurs R , G et B de chaque nuance dans une info -bulle .

LGV

  • voir
  • parler
  • Éditer
H = 180°
(Cyan)
H = 0°
(Rouge)
S L 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0
H = 210°
(Bleu-Cyan)
H = 30°
(Jaune-Rouge)
S L 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0
H = 240°
(Bleu)
H = 60°
(Jaune)
S L 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0
H = 270°
(Magenta-Bleu)
H = 90°
(Vert-Jaune)
S L 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0
H = 300°
(Magenta)
H = 120°
(Vert)
S L 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0
H = 330°
(Rouge-Magenta)
H = 150°
(Cyan-Vert)
S L 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0

HSV

  • voir
  • parler
  • Éditer
H = 180°
(Cyan)
H = 0°
(Rouge)
S V 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0
H = 210°
(Bleu-Cyan)
H = 30°
(Jaune-Rouge)
S V 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0
H = 240°
(Bleu)
H = 60°
(Jaune)
S V 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0
H = 270°
(Magenta-Bleu)
H = 90°
(Vert-Jaune)
S V 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0
H = 300°
(Magenta)
H = 120°
(Vert)
S V 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0
H = 330°
(Rouge-Magenta)
H = 150°
(Cyan-Vert)
S V 1 3 ⁄ 4 1 ⁄ 2 1 ⁄ 4 0 1 ⁄ 4 1 ⁄ 2 3 ⁄ 4 1
1
7 ⁄ 8
3 ⁄ 4
5 ⁄ 8
1 ⁄ 2
3 ⁄ 8
1 ⁄ 4
1 ⁄ 8
0

Voir également

  • Espace colorimétrique TSL

Remarques

  1. ^ L’ article de Joblove et Greenberg (1978) introduisant pour la première fois HSL, ils ont appelé “intensité” la luminosité HSL, appelé saturation HSL “chroma relatif”, appelé saturation HSV “saturation” et valeur HSV “valeur”. Ils ont soigneusement et sans ambiguïté décrit et comparé trois modèles : teinte/chroma/intensité, teinte/chroma relative/intensité et teinte/valeur/saturation. Malheureusement, les auteurs ultérieurs étaient moins pointilleux et l’utilisation actuelle de ces termes est incohérente et souvent trompeuse.
  2. ^ Le nom hexcone pour pyramide hexagonale a été inventé par Smith (1978) et collé.
  3. ^ Par exemple, une étude de 1982 par Berk et al., a révélé que les utilisateurs étaient meilleurs pour décrire les couleurs en termes de HSL que de coordonnées RVB, après avoir appris les deux systèmes, mais étaient encore bien meilleurs pour les décrire en termes de naturel- modèle CNS de langue (qui utilise des noms tels que “jaune-vert grisâtre très foncé” ou “violet bleuté moyen fort”). Cependant, cela ne doit pas être considéré comme un évangile : une étude réalisée en 1987 par Schwarz, et al., a révélé que les utilisateurs pouvaient faire correspondre les couleurs en utilisant les commandes RVB plus rapidement qu’avec les commandes HSL ; une étude réalisée en 1999 par Douglas et Kirkpatrick a révélé que le retour visuel dans l’interface utilisateur importait plus que le modèle de couleur particulier utilisé, pour la vitesse de correspondance de l’utilisateur. [10] [11] [12]
  4. ^ “De toute évidence, si l’apparence de la couleur doit être décrite de manière systématique et mathématique, les définitions des phénomènes décrits doivent être précises et universellement acceptées.” [19]
  5. ^ Dans la formulation de Levkowitz et Herman , R , G et B représentent les tensions sur les canons d’un écran CRT, qui peuvent avoir des maxima différents, et donc leur gamme cartésienne pourrait être une boîte de dimensions inégales. D’autres définitions utilisent couramment des valeurs entières dans la plage [0, 255] , stockant la valeur de chaque composant dans un octet . Nous définissons la gamme RVB comme étant un cube unitaire pour plus de commodité, car cela simplifie et clarifie les calculs. De plus, en général, HSL et HSV sont aujourd’hui calculés directement à partir de R ′ , GB ′ corrigé gamma et — par exemple dans l’espace sRVB — mais, lorsque les modèles ont été développés, il aurait pu s’agir de transformations d’un espace RVB linéaire. Les premiers auteurs ne traitent pas du tout de la correction gamma, à l’exception d’ Alvy Ray Smith [13] qui déclare clairement que “Nous supposerons qu’un moniteur RVB est un appareil linéaire”, et a donc conçu le HSV en utilisant le RVB linéaire. Nous laisserons tomber les nombres premiers, et les étiquettes R , G et B devraient être prises pour représenter les trois attributs de l’espace RVB d’origine, qu’il soit ou non corrigé gamma.
  6. ^ L’utilisation de la chrominance ici est non seulement en accord avec l’article original de Joblove et Greenberg (1978) , mais est également dans le bon esprit de la définition psychométrique du terme. Certains modèles appellent cet attribut saturation – par exemplele mode de fusion “Saturation” d’ Adobe Photoshop – mais une telle utilisation est encore plus déroutante que l’utilisation du terme dans HSL ou HSV, en particulier lorsque deux définitions sensiblement différentes sont utilisées côte à côte.
  7. ^ a b La plupart des articles et des livres d’infographie traitant de HSL ou de HSV ont une formule ou un algorithme les décrivant formellement. Nos formules qui suivent sont un mélange de celles-ci. Voir, par exemple, Agoston (2005) ou Foley (1995)
  8. ^ Hanbury et Serra (2002) ont déployé beaucoup d’efforts pour expliquer pourquoi ce que nous appelons chroma ici peut être écrit comme max( R , G , B ) − min( R , G , B ), et montrer que cette valeur est un semi- norme . Ils réservent le nom chroma à la Norme euclidienne dans le plan de chromaticité (notre C 2 ), et appellent plutôt cette distance hexagonale saturation , dans le cadre de leur modèle IHLS
  9. Dans ce qui suit, la multiplication de la teinte par 60°, c’est-à-dire 360°/6, peut être considérée comme l’analogue de la géométrie hexagonale de la conversion des radians en degrés, une multiplication par 360°/2 π : la circonférence de un cercle unitaire vaut 2 π ; la circonférence d’un hexagone unité est 6.
  10. ^ Pour une discussion plus spécifique du terme luma , voir Charles Poynton (2008) . Voir aussi Espace colorimétrique RVB#Spécifications . Photoshop utilise exclusivement les coefficients NTSC pour son mode de fusion “Luminosité”, quel que soit l’Espace colorimétrique RVB impliqué. [30]
  11. ^ Les neuf premières couleurs de ce tableau ont été choisies à la main et les dix dernières couleurs ont été choisies au hasard.
  12. ^ Voir Smith (1978) . Beaucoup de ces captures d’écran ont été tirées du GUIdebook , et les autres ont été recueillies à partir des résultats de la recherche d’images.
  13. ^ Par exemple, un outil dans Illustrator CS4 et l’outil Web associé d’Adobe, Kuler , permettent tous deux aux utilisateurs de définir des schémas de couleurs basés sur les relations HSV, mais avec un cercle de teinte modifié pour mieux correspondre au modèle RYB utilisé traditionnellement par les peintres. Les outils Web ColorJack , Color Wizard et ColorBlender sélectionnent tous des schémas de couleurs en référence à HSL ou HSV.
  14. ^ Essayez une recherche sur le Web pour “”framework name” color picker” pour des exemples pour un framework donné, ou ” JavaScript color picker” pour des résultats généraux.
  15. ^ ArcGIS appelle ses dégradés de symboles cartographiques “rampes de couleurs”. Les versions actuelles d’ArcGIS peuvent utiliser CIELAB à la place pour les définir. [33]
  16. ^ Par exemple, la première version de Photoshop avait un outil basé sur HSL ; voir “Photoshop hue/saturation” dans le GUIdebook pour les captures d’écran. [34] [35]
  17. ^ La documentation de Photoshop explique que, par exemple, “Luminosité : Crée une couleur de résultat avec la teinte et la saturation de la couleur de base et la luminance de la couleur de fusion.” [36]
  18. ^ Le mode de style HSL (avec une luminosité Rec. 601) est également standardisé en CSS à partir d’une documentation fournie par Adobe et Canon. [37] GIMP 2.10 est passé à LCH(ab) à partir de son ancienne géométrie HSV. [38]
  19. ^ L’Ohta et al. modèle a pour paramètres I 1 = ( R + G + B )/3 , I 2 = ( RB )/2 , I 3 = (2 GRB )/4 . I 1 est identique à notre I , et I 2 et I 3 sont similaires à nos β et α , respectivement, sauf que (a) où α pointe dans la direction de R dans le “plan de chromaticité”, I3 points dans la direction de G , et (b) les paramètres ont une échelle linéaire différente qui évite le √ 3 de notre β .
  20. ^ La plupart des inconvénients ci-dessous sont répertoriés dans Poynton (1997) , mais sous forme de simples déclarations, sans exemples.
  21. ^ Certains points de ce cylindre sortent de la gamme .

Références

  1. ^ “Couleurs HSL” . Module de couleur CSS niveau 4 (ébauche de travail). Consortium World Wide Web . Récupéré le 27 janvier 2022 .
  2. ^ Ihaka R, Murrell P, Hornik K, Fisher JC, Stauffer R, Wilke CO, McWhite CD, Zeileis A. Espaces colorimétriques : Classes et utilitaires S4 . Projet R : package d’espace colorimétrique (article) . Récupéré le 27 janvier 2022 .
  3. ^ Ottosson, Björn (8 septembre 2021). “Okhsv et Okhsl” (article de blog). GitHub . Récupéré le 27 janvier 2022 .
  4. ^ Brevet FR 841335 , Valensi, Georges, “Procédé de télévision en couleurs”, publié le 17/05/1939, délivré le 06/02/1939
  5. ^ Brevet américain 2375966 , Valensi, Georges, “Système de télévision en couleurs”, publié le 15/05/1945
  6. ^ un b Levkowitz et Herman (1993)
  7. ^ Guillaume Ostwald (1916). Die Farbenfibel . Leipzig.
  8. ^ Guillaume Ostwald (1918). Die Harmonie der Farben . Leipzig.
  9. ^ Brevet américain 4694286 , Bergstedt, Gar A., ​​”Appareil et méthode de modification des images couleur affichées”, publié le 15/09/1987, attribué à Tektronix, Inc
  10. ^ Toby Berk; Arie Kaufman; Lee Brownston (août 1982). “Une étude des facteurs humains des systèmes de notation des couleurs pour l’infographie” . Communications de l’ACM . 25 (8): 547–550. doi : 10.1145/358589.358606 . S2CID 14838329 .
  11. ^ Michael W. Schwarz; William B. Cowan; John C. Beatty (avril 1987). “Une comparaison expérimentale des modèles de couleurs RVB, YIQ, LAB, HSV et opposés” . Transactions ACM sur les graphiques . 6 (2): 123–158. doi : 10.1145/31336.31338 . S2CID 17287484 .
  12. ^ Sarah A. Douglas; Arthur E. Kirkpatrick (avril 1999). “Modèle et représentation : l’effet du retour visuel sur les performances humaines dans une interface de sélection de couleurs” . Transactions ACM sur les graphiques . 18 (2): 96–127. doi : 10.1145/318009.318011 . S2CID 14678328 .
  13. ^ un bcd Smith (1978 )
  14. ^ un bcd Joblove et Greenberg (1978)
  15. ^ Maureen C. Stone (août 2001). “Une enquête sur la couleur pour l’infographie” . Cours à SIGGRAPH 2001.
  16. ^ Ware Myers (juillet 1979). “Infographie interactive: Flying High-Part I”. Ordinateur . 12 (7): 8-17. doi : 10.1109/MC.1979.1658808 . S2CID 15344162 .
  17. ^ N. Magnetat-Thalmann; N. Chourot ; D. Thalmann (mars 1984). “Dégradé de couleur, ombrage et texture à l’aide d’un terminal limité”. Forum Infographie . 3 : 83–90. doi : 10.1111/j.1467-8659.1984.tb00092.x . S2CID 29541525 .
  18. ^ Personnel d’infographie (août 1979). “Rapport d’étape du Comité de planification des normes graphiques” . ACM SIGGRAPH Infographie . 13 (3): 1–10. doi : 10.1145/988497.988498 . S2CID 43687764 .
  19. ^ un bcdefgh Fairchild ( 2005 ) , pp . 83–93 _
  20. ^ Kuehni (2003)
  21. ^ Terminologie standard d’apparence E284 . ASTM . 2009.
  22. ^ Vocabulaire international d’éclairage (4e éd.). CIE et CEI . 1987. ISBN 978-3-900734-07-7. Archivé de l’original le 2010-02-27 . Récupéré le 05/02/2010 .
  23. ^ Poynton (1997)
  24. ^ Sharma, G. (2003). Manuel d’imagerie couleur numérique . Boca Raton, Floride : CRC Press. ISBN 978-0-8493-0900-7.
  25. ^ Hanbury et Serra (2002)
  26. ^ un b Hanbury (2008)
  27. ^ Patrick Lambert; Thierry Carron (1999). “Fusion symbolique des caractéristiques de luminance-teinte-chroma pour la segmentation de la région”. Reconnaissance de formes . 32 (11): 1857. doi : 10.1016/S0031-3203(99)00010-2 .
  28. ^ Rafael C. Gonzalez et Richard Eugene Woods (2008). Traitement numérique des images , 3e éd. Upper Saddle River, New Jersey : Prentice Hall. ISBN 0-13-168728-X . p. 407–413 .
  29. ^ Poynton (1997) . “Quelle pondération du rouge, du vert et du bleu correspond à la luminosité ?”
  30. ^ Bruce Lindbloom (2001-09-25). http://lists.apple.com/archives/colorsync-users/2001/Sep/msg00488.html “Re : Canal de luminosité…”.
  31. ^ un bcd Cheng et al . (2001)
  32. ^ Tantek Çelik, Chris Lilley et L. David Baron (juillet 2008). “Module de couleur CSS3 niveau 3” .
  33. ^ “Travailler avec des dégradés de couleurs” . Institut de recherche sur les systèmes environnementaux . janvier 2008 . Consulté le 30 août 2017 .
  34. ^ Bradley, John (1994). “Les outils de modification HSV” . John’s World of XV et autres trucs sympas .
  35. ^ Sinkel, Kiril (janvier 2010). “Guide de l’utilisateur pour Picture Window et Picture Window Pro Digital Light & Color” (PDF) . Archivé de l’original (PDF) le 12/05/2014.
  36. ^ “Modes de fusion” . Guide de l’utilisateur Photoshop . Adobe Systems Incorporated. 15 février 2017.
  37. ^ “Niveau de composition et de mélange 1” . www.w3.org .
  38. ^ “Les modes de fusion LCH de GIMP” . Neuf degrés en dessous .
  39. ^ John Kender (1976). “Saturation, teinte et couleur normalisée”. Université Carnegie Mellon, département d’informatique Pittsburgh, Pennsylvanie.
  40. ^ Yu-Ichi Ohta; Takeo Kanade; Toshiyuki Sakai (1980). “Informations de couleur pour la segmentation de la région”. Infographie et traitement d’images . 13 (3): 222. doi : 10.1016/0146-664X(80)90047-7 .
  41. ^ Frank Perez; Christof Koch (1994). “Vers la segmentation des images couleur dans le VLSI analogique : algorithme et matériel” (PDF) . Journal international de vision par ordinateur . 12 : 17–42. doi : 10.1007/BF01420983 . S2CID 6140819 .
  42. ^ Brasseur, Cynthia A. (1999). “Directives d’utilisation des couleurs pour la représentation des données” . Actes de la section sur les graphiques statistiques . Alexandria, VA : Association statistique américaine. p. 55–60.
  43. ^ Fisher, Nicholas (1996). Analyse statistique des données circulaires . Cambridge, Angleterre : Cambridge University Press.
  44. ^ Hanbury, Allan (2003). Statistiques circulaires appliquées aux images couleur . 8e atelier d’hiver sur la vision par ordinateur. CiteSeerX 10.1.1.4.1381 .
  45. ^ Poynton (1997) . “Qu’est-ce que HSB et HLS ?”

Bibliographie

  • En ligneAgoston, Max K. (2005). Infographie et Modélisation Géométrique : Implémentation et Algorithmes . Londres : Springer. p. 300–306. ISBN 978-1-85233-818-3.Le livre d’Agoston contient une description de HSV et HSL, et des algorithmes en pseudocode pour convertir chacun de RVB, et inversement.
  • Cheng, Heng-Da; Jiang, Xihua ; Soleil, Angèle ; Wang, Jingli (2001). “Segmentation des images couleur : Avancées et perspectives”. Reconnaissance de formes . 34 (12): 2259. CiteSeerX 10.1.1.119.2886 . doi : 10.1016/S0031-3203(00)00149-7 .Cette revue de la littérature sur la vision par ordinateur résume brièvement les recherches sur la segmentation des images couleur, y compris celles utilisant les représentations HSV et HSI.
  • Fairchild, Mark D. (2005). Modèles d’apparence de couleur (2e éd.). Addison-Wesley.Ce livre ne traite pas spécifiquement de HSL ou HSV, mais est l’une des ressources les plus lisibles et précises sur la science actuelle des couleurs.
  • Foley, JD ; et coll. (1995). Infographie : principes et pratique (2e éd.). Redwood City, Californie : Addison-Wesley. ISBN 978-0-201-84840-3.Le manuel d’infographie standard des années 1990, ce tome contient un chapitre plein d’algorithmes de conversion entre les modèles de couleurs, en C .
  • Hanbury, Allan; Serra, Jean (décembre 2002). Une représentation des couleurs en coordonnées polaires 3D adaptée à l’analyse d’images . Rapport technique du groupe Reconnaissance de formes et traitement d’ images 77 . Vienne, Autriche : Université de technologie de Vienne.
  • Hanbury, Allan (2008). “Construire des espaces colorimétriques de coordonnées cylindriques” (PDF) . Lettres de reconnaissance de formes . 29 (4): 494–500. CiteSeerX 10.1.1.211.6425 . doi : 10.1016/j.patrec.2007.11.002 .
  • Joblove, George H.; Greenberg, Donald (août 1978). “Espaces colorimétriques pour l’infographie” (PDF) . Infographie . 12 (3): 20–25. doi : 10.1145/965139.807362 .L’article de Joblove et Greenberg a été le premier à décrire le modèle HSL, qu’il compare au HSV.
  • Kuehni, Rolf G. (2003). L’espace colorimétrique et ses divisions : l’ordre des couleurs de l’Antiquité à nos jours . New York : Wiley. ISBN 978-0-471-32670-0.Ce livre ne mentionne que brièvement HSL et HSV, mais est une description complète des systèmes d’ordre des couleurs à travers l’histoire.
  • Levkowitz, Haim; En ligneHerman, Gabor T. (1993). “GLHS: Un modèle de couleur généralisé de luminosité, de teinte et de saturation”. CVGIP : Modèles Graphiques et Traitement d’Images . 55 (4): 271–285. doi : 10.1006/cgip.1993.1019 .Cet article explique comment HSL et HSV, ainsi que d’autres modèles similaires, peuvent être considérés comme des variantes spécifiques d’un modèle “GLHS” plus général. Levkowitz et Herman fournissent un pseudocode pour la conversion de RVB en GLHS et inversement.
  • MacEvoy, Bruce (janvier 2010). « Vision des couleurs » . handprint.com .. Surtout les sections sur les “modèles de couleurs modernes” et la “théorie des couleurs modernes” . Le site complet de MacEvoy sur la science des couleurs et le mélange de peinture est l’une des meilleures ressources sur le Web. Sur cette page, il explique les attributs de création de couleurs, ainsi que les objectifs généraux et l’historique des systèmes d’ordre des couleurs, y compris HSL et HSV, et leur pertinence pratique pour les peintres.
  • Poynton, Charles (1997). “Foire aux questions sur la couleur” . poynton.com .Cette page de questions fréquemment posées auto-publiée, par l’expert en vidéo numérique Charles Poynton, explique, entre autres, pourquoi, à son avis, ces modèles “sont inutiles pour la spécification d’une couleur précise”, et devraient être abandonnés au profit de modèles plus pertinents sur le plan psychométrique. .
  • Poynton, Charles (2008). « YUV et luminance considérés comme nocifs » . poynton.com . Consulté le 30 août 2017 .
  • Smith, Alvy Ray (août 1978). “Paires de transformation de gamme de couleurs”. Infographie . 12 (3): 12–19. doi : 10.1145/965139.807361 .Ceci est l’article original décrivant le modèle “hexcone”, HSV. Smith était chercheur au laboratoire d’infographie du NYIT . Il décrit l’utilisation du HSV dans un premier programme de peinture numérique .

Liens externes

  • Applet démonstratif de conversion des couleurs
  • Couleurs HSV par Hector Zenil, The Wolfram Demonstrations Project .
  • HSV vers RVB par CodeBeautify.
You might also like
Leave A Reply

Your email address will not be published.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More