Wat je kunt proberen
- Probeer Rood, Groen en Blauw en vergelijk de kolomhoogten op hun gedeelde schaal.
- Kies Middengrijs en vergelijk de lineaire Y-som met de gecodeerde kanaalbenadering.
Waar je op kunt letten: Groen heeft het grootste gewicht. Het origineel en grijs met gelijke Y delen relatieve luminantie, terwijl middengrijs veel minder dan de helft van het referentiewitte licht bevat.
Zo werkt het
Relatieve luminantie wordt uit lineaire lichtkanalen berekend. Decodeer eerst sRGB en bereken daarna ongeveer 0,2126 R + 0,7152 G + 0,0722 B. Zwart geeft nul; referentiewit geeft één.
Dezelfde gewichten rechtstreeks op gecodeerde kanaalwaarden toepassen geeft een luma-achtige benadering. Die is bruikbaar voor artistieke filters, maar is geen fysieke relatieve luminantie. De keuze beïnvloedt drempels en toonvolgorde.
Gebruik het in het Lab
Het Lab gebruikt voor onder meer drempelen en pixelsortering een benadering op gecodeerde kanalen. Interpreteer die grenzen als artistieke instellingen en niet als lichtmetingen.
Grenzen & verschillen
Relatieve luminantie verschilt van subjectieve helderheid en Lab-lichtheid. Benoem de gemeten grootheid en de referentie.
Verdieping
Niet alle RGB-kanalen dragen in gelijke mate bij aan de waargenomen helderheid. Het menselijk oog heeft veel meer voor groen gevoelige kegeltjes dan voor rood of blauw, waardoor veranderingen in het groene kanaal een veel grotere impact hebben op hoe licht of donker een kleur lijkt. Luminantie‑weging past correctiefactoren toe om voor deze asymmetrie te compenseren.
De ITU-R BT.709-coëfficiënten
De standaard luminantiecoëfficiënten voor sRGB (uit de HDTV-specificatie) zijn:
Relatieve luminantie
Y = 0.2126 × R + 0.7152 × G + 0.0722 × B
Groen draagt meer dan 71% bij aan de waargenomen helderheid, rood ongeveer 21% en blauw slechts 7%. Daarom lijkt puur blauw (#0000FF) veel donkerder dan puur groen (#00FF00), ook al staat in beide gevallen één kanaal maximaal open.
Gewogen Euclidische afstand
Een veelgebruikte verbetering op de naïeve Euclidische RGB-afstand is om de kanalen te wegen naar hun bijdrage aan de luminantie. Compuphase’s “redmean”-benadering is een populaire, goedkope aanpak:
function weightedColorDistance(
r1: number, g1: number, b1: number,
r2: number, g2: number, b2: number,
): number {
const rMean = (r1 + r2) / 2
const dR = r1 - r2
const dG = g1 - g2
const dB = b1 - b2
return Math.sqrt(
(2 + rMean / 256) * dR * dR +
4 * dG * dG +
(2 + (255 - rMean) / 256) * dB * dB
)
}Toepassingen
- Toegankelijkheids-contrastcontroles (WCAG gebruikt relatieve luminantie om contrastverhoudingen te berekenen)
- Grijswaardenconversie (desaturatie die de waargenomen helderheid behoudt)
- Verbeterde paletgroepering in onze kleurextractie-pijplijn
Belangrijkste inzicht
Telkens wanneer je kleuren in RGB-ruimte vergelijkt of mengt, onthoud dan dat het groene kanaal 3,5× zoveel perceptueel gewicht draagt als blauw. Zelfs een eenvoudige luminantie-gewogen afstand levert al veel betere resultaten op dan de naïeve, ongewogen variant.
Verwante Lab-categorieën
Bronnen & naslag
Gids bijgewerkt
