Modele HLS i HSI
Dwa modele, które opisują kolor tak, jak opisuje go człowiek: przez odcień, nasycenie i to, jak bardzo kolor jest jasny. Różnią się tym, co rozumieją przez "jasny", i to ma większe znaczenie, niż się wydaje.
Po co modele oparte na odcieniu
Model RGB mówi, ile czerwonego, zielonego i niebieskiego światła trzeba zmieszać. Dla monitora to naturalne, dla człowieka już nie. Pytanie "jak zrobić ten pomarańczowy trochę bledszym?" nie ma w RGB prostej odpowiedzi, bo zmieniają się wszystkie trzy składowe naraz.
Modele HLS, HSI i HSV rozdzielają kolor na trzy cechy:
- odcień (hue, H): kąt na kole barw, 0° to czerwień, 120° zieleń, 240° błękit,
- nasycenie (saturation, S): jak daleko kolor jest od szarości o tej samej jasności,
- jasność: w HLS to lightness (L), w HSI intensity (I), w HSV value (V). Tu modele się rozchodzą.
Model HLS (HSL)
HLS i HSL to ten sam model, różni się tylko kolejność liter. Przestrzeń ma kształt podwójnego stożka: na dole czerń, na górze biel, na obwodzie środkowego przekroju czyste barwy. Jasność to średnia z największej i najmniejszej składowej RGB:
Składowe R, G, B są tu w zakresie 0..1 (wartość 0..255 dzielimy przez 255). Wynik L i S też jest w zakresie 0..1, H w stopniach.
Ważna cecha HLS: każda czysta barwa ma L = 0,5. Czerwień (255, 0, 0), żółć (255, 255, 0) i błękit (0, 0, 255) mają w HLS tę samą jasność, choć oko widzi żółć jako znacznie jaśniejszą od błękitu. HLS jest wygodny do edycji, ale nie mierzy jasności postrzeganej.
Model HSI
HSI wywodzi się z przetwarzania i analizy obrazu. Intensywność to zwykła średnia trzech składowych, a nasycenie mierzy, jak mało jest w kolorze "wspólnej szarości":
Odcień w HSI liczy się geometrycznie, jako kąt między wektorem koloru a kierunkiem czerwieni na płaszczyźnie prostopadłej do osi szarości. W HLS i HSV odcień liczy się "po sześciokącie", odcinkami liniowymi. Dla barw leżących dokładnie na osiach oba sposoby dają ten sam wynik, dla pozostałych różnica sięga kilku stopni.
W HSI czyste barwy podstawowe mają I = 1/3, a barwy dopełniające (żółć, cyjan, magenta) I = 2/3. To bliżej odczucia oka niż w HLS, choć nadal daleko od CIELAB, które modeluje jasność postrzeganą.
Przykład krok po kroku
Kolor ceglasto-pomarańczowy RGB (200, 80, 40), czyli #c85028. Po podzieleniu przez 255:
HLS:
HSI:
Ten sam kolor ma więc odcień 15° w HLS i 13,9° w HSI, nasycenie 66,7% albo 62,5%, a jasność 47,1% albo 41,8%. Żaden wynik nie jest "błędny", to po prostu różne definicje. Przy przenoszeniu wartości między programami trzeba wiedzieć, którego modelu używa każdy z nich.
Przelicz własny kolor
Kalkulator pokazuje ten sam kolor we wszystkich modelach naraz, także w HSV, CMYK i CIELAB.
HLS, HSI czy HSV?
| Model | Jasność | Czysta barwa ma | Typowe użycie |
|---|---|---|---|
| HLS / HSL | (max + min) / 2 | L = 0,5 | CSS (hsl()), selektory kolorów |
| HSV / HSB | max | V = 1 | programy graficzne, próbniki kolorów |
| HSI | (R + G + B) / 3 | I = 1/3 lub 2/3 | analiza i segmentacja obrazu |
Wszystkie trzy są przekształceniami RGB, więc dziedziczą jego zależność od urządzenia: ten sam zapis HLS wygląda inaczej na różnych ekranach. Gdy liczy się porównywanie barw tak, jak widzi je człowiek, lepszym wyborem jest CIELAB lub CIELUV.