Uwagi o modelach
Nie ma jednego najlepszego modelu barw. Każdy powstał do innego zadania i w innym jest dobry. Ta strona zbiera wnioski z całego działu: co wybrać i czego unikać.
Który model do czego
| Zadanie | Model | Dlaczego |
|---|---|---|
| zapis koloru w pliku, CSS, interfejsie | sRGB (HEX) | domyślny dla ekranów i internetu |
| próbnik kolorów, ręczny dobór | HSV / HSB | odcień, nasycenie i "siła" niezależnie |
| proste warianty jaśniej / ciemniej | HSL | biel i czerń na końcach jednej osi |
| segmentacja i analiza obrazu | HSI | geometria zgodna z sześcianem RGB |
| druk | CMYK przez profil ICC | opisuje farby, ale tylko z profilem |
| obliczenia fizyczne, mieszanie świateł | liniowe RGB, CIE XYZ | liniowe względem światła |
| porównywanie barw, tolerancje, ΔE | CIELAB | w przybliżeniu równomierny dla oka |
| palety o równej jasności, gradienty | LCh, Oklab | stała jasność przy zmianie odcienia |
| kompresja obrazu i wideo | YCbCr | pozwala zmniejszyć rozdzielczość barwy |
| kontrast tekstu | luminancja względna | tego wymaga WCAG |
Najczęstsze błędy
- Liczenie na wartościach z gamma. Średnia, rozmycie, skalowanie i mieszanie wymagają światła liniowego. Na wartościach sRGB wyniki są za ciemne i brudne (zob. korekcja gamma).
- Traktowanie RGB jako barwy. RGB bez przestrzeni (sRGB, P3, Adobe RGB) to tylko trzy liczby. To samo dotyczy HSV i HSL, które są przekształceniami RGB (zob. modele zależne od urządzenia).
- Mylenie HSL z HSV. Odcień jest ten sam, ale S i trzecia składowa nie. 80% nasycenia w HSV to dla tej samej barwy 66,7% w HSL.
- Uznawanie L z HSL albo V z HSV za jasność. Czysty błękit i czysta żółć mają to samo L i V, a dla oka różnią się o prawie dwie trzecie skali (zob. jasność względna).
- Prosty wzór CMYK do druku. K = 1 - max(R, G, B) to przekształcenie geometryczne. Prawdziwy wydruk wymaga profilu procesu druku.
- Lab bez punktu bieli. Ta sama barwa ma inne Lab przy D50 i D65 (zob. punkty bieli).
- Mylenie lumy z luminancją. Y' z wideo liczy się na wartościach z gamma i dla nasyconych barw może się różnić od Y nawet kilkakrotnie.
- Odległość w RGB jako różnica barw. Ta sama odległość w RGB to w różnych miejscach zupełnie różna widoczna różnica. Do tego służy ΔE w CIELAB.
Jedna barwa we wszystkich modelach
Przykład używany w całym dziale, RGB (200, 80, 40):
HEX #c85028
HSV H 15° S 80,0% V 78,4%
HSL H 15° L 47,1% S 66,7%
HSI H 13,9° S 62,5% I 41,8%
CMYK C 0% M 60% Y 80% K 21,6%
XYZ (D65) X 27,07 Y 18,17 Z 4,09
xyY x 0,5488 y 0,3684 Y 18,17
CIELAB L* 49,71 a* 45,77 b* 46,31
LCh L* 49,71 C* 65,11 h 45,3°
CIELUV L* 49,71 u* 96,49 v* 36,18
YUV Y' 0,4365 U -0,1376 V 0,3050
YCbCr Y 111,3 Cb 87,8 Cr 191,3
Dalej: przekształcenia między modelami, ze wzorami w obie strony.