semmixkolor i percepcja

Jasność względna (lightness)

Lightness odpowiada na pytanie, jak jasna wydaje się barwa w porównaniu z bielą widzianą w tych samych warunkach. Jest względna, więc nie zmienia się, gdy rozjaśniamy całą scenę. To ta jasność, którą oko ocenia najlepiej.

L* w CIELAB i CIELUV

Najczęściej używaną miarą lightness jest L* z CIELAB i CIELUV. Zależy tylko od luminancji względnej Y (zob. luminancja):

y_r = Y / Y_n (Y_n: luminancja bieli odniesienia) L* = 116 · ∛y_r - 16 gdy y_r > 0,008856 L* = 903,3 · y_r w pozostałych przypadkach

Pierwiastek trzeciego stopnia przybliża nieliniową odpowiedź oka: przy ciemnych tonach mała zmiana luminancji jest wyraźnie widoczna, przy jasnych potrzeba dużo większej. L* = 0 to czerń, L* = 100 biel, a równe kroki L* wyglądają w przybliżeniu na równe.

Szarość średnia

Szarość, która wydaje się w połowie drogi między czernią a bielą, ma L* = 50. Jej luminancja to nie 50%, tylko:

Y = ((50 + 16) / 116)³ = 0,184 → 18,4% światła w sRGB: wartość około 119 (z 255)

Stąd fotograficzna "szara karta 18%": odbija mniej niż jedną piątą światła, a wygląda na szarość średnią. Wartość 128 w sRGB to L* = 53,6, czyli nieco jaśniej niż połowa.

Munsell value

System barw Munsella (1905) też ma skalę lightness, nazywaną value, od 0 (czerń) do 10 (biel). Była wyznaczona doświadczalnie, przez porównywanie próbek przez obserwatorów. W dobrym przybliżeniu:

Munsell value ≈ L* / 10

To, że dwie niezależne metody dają niemal tę samą skalę, potwierdza, że L* dobrze modeluje percepcję.

L w HSL to nie lightness

Model HSL nazywa trzecią składową lightness, ale liczy ją jako średnią największej i najmniejszej składowej RGB. Każda czysta barwa ma wtedy L = 50%:

BarwaL (HSL)L* (CIELAB)
błękit (0, 0, 255)50%32,3
czerwień (255, 0, 0)50%53,2
magenta (255, 0, 255)50%60,3
zieleń (0, 255, 0)50%87,7
cyjan (0, 255, 255)50%91,1
żółć (255, 255, 0)50%97,1

Według HSL wszystkie te barwy są równie jasne. Według oka różnica między błękitem a żółcią to prawie dwie trzecie całej skali. Dla naszego koloru #c85028 L w HSL to 47,1%, a L* to 49,7, czyli tu akurat wyniki są bliskie, ale to przypadek.

Palety o równej jasności dla oka, np. do wykresów albo map, buduje się w LCh albo w Oklab, zmieniając odcień przy stałym L*. W HSL przy stałym L wyjdą barwy o bardzo różnej jasności.