Barevné modely

Kurz počítačové grafiky

Autor: Jiří Hnídek / jiri.hnidek@tul.cz

Světlo

“ A řekl Bůh: Budiž světlo. A bylo světlo. “

Podstata světla

  • Korpuskulární charakter
    • Elektromagnetické vlnění
    • Proud částic - fotonů
  • Ve vákuu má konečnou rychlost: 299 792 458 m/s
  • Jediná vlastnost fotonu: vlnová délka ~ energie

Elektromagnetické spektrum

Elektromagnetické vlnění (fotony) se rozděluje podle jeho vlnové délky:

  • Rádiové vlny (delší jak 1m)
  • Mikrovlny (1mm - 1m)
  • Infračervené záření (760nm - 1mm)
  • Viditelné světlo (390nm - 790nm)
  • Ultrafialové záření (10nm - 400nm)
  • Rentgenové záření (0,1nm - 10nm)
  • Gamma záření (kratší jak 0,1nm)

Spektrum viditelného světla

Bílé světlo

Každý "bílý" světelný zdroj má rozdílné barevné spektrum.

  • Sluneční světlo
  • Zamračená obloha
  • Žárovka
  • Zářivka
  • Svíčka
  • Laser
  • Atd.

Záření ideálně černého tělesa a teplota chromatičnosti

Světelné efekty

  • Odraz
  • Lom
  • Disperze (např. duha)
  • Difrakce (např. ohyb na mřížce)
  • Interference
  • Polarizace (např. IMAX)
  • Luminiscence (např. světlušky)

Lidkské oko

Řez lidským okem

  • Rohovka
  • Duhovka
  • Zřítelnice
  • Čočka
  • Sklivec
  • Sítnice
  • Oční nerv
  • Vlásečnice

Tyčinky a čípky

Světločivné buňky na sítnici

  • Tyčinky
    • Černobílé vidění
  • Čípky
    • Barevné vidění

Tyčinky

  • Počet: ~ 120 000 000
  • Vidění za šera: Uplatňují se pouze při nízké intenzitě okolního světla
  • Vyskytují se spíše na okraji sítnice
  • Citlivé na pohyb (periferní vidění)
  • Fotopigment rhodopsin: jeho množství je ovlivněno intenzitou okolního světla

Čípky

  • Počet: ~ 8 000 000
  • Uplatňují se při vyšších hodnotách okolního osvětlení
  • Největší koncentrace ve žluté skvrně
  • 3 druhy čípků s různými fotopigmenty
    • Modrý (2%)
    • Červený (32%)
    • Zelený (64%)

Oční nerv

  • Počet: ~ 1 000 000
  • Filtrace obrazové informace již na sítnici
  • Dva body blízko sebe se jeví jako jeden

R G B

“ Red, Green, Blue. “

RGB

  • Barevný model používaný pro záznam, uchování a zobrazení barevné informace.
  • Používá tři základní barvy (červenou, zelenou a modrou)
  • Aditivní míchání barev

Barevný kanál

  • Hodnoty jedné základní barvy (red/green/blue)
  • Všechny hodnoty v jednom barevném kanálu jsou kódované stejně
  • Nejčastěji se používají následující kódování
    • 1 unsigned byte (8 bitů): 0 - 255
    • 1 unsigned short (16 bitů): 0 - 65535
    • 1 IEEE float (32 bitů): 0.0 - 1.0 (inf)
    • 1 half-float (16 bitů): 0.0 - 1.0 (inf)

RGB krychle

Vizualizace barevného prostoru v 3D prostoru

C M Y (K)

“ Cyan, Magenta, Yellow “

CMY(K)

  • Cyan - tyrkysová
  • Magenta - fialová
  • Yellow - žlutá
  • Substraktivní míchání barev - teoreticky smícháním všech barev s max. intenzitou vznikne černá barva.
  • V praxi vznikne ošklivá hnědá. V praxi se tudíž používá model CMYK:
  • BlacK - černá

Převod z RGB do CMY(k)

Je důležité si uvědomit rozsah možných hodnot. V tomto případě uvažujeme:

$$ R,G,B \in <0.0, 1.0> $$

Převod z RGB do CMY má následující formu

$$ \begin{align} C &= 1.0 - R \\ M &= 1.0 - G \\ Y &= 1.0 - B \end{align} $$

Převod z CMY do CMYK

$$ \begin{align} K &= MIN(C,M,Y) \\ C' &= C - K \\ M' &= M - K \\ Y' &= Y - K \end{align} $$

Převod z CMYK do RGB

Opět uvažujeme rozsah všech hodnot: $ <0.0, 1.0> $. Nejprve provedeme převod z CMYK do CMY:

$$ \begin{align} C' &= C + K \\ M' &= M + K \\ Y' &= Y + K \end{align} $$

Následně provedeme převod do RGB:

$$ \begin{align} R &= 1.0 - C' \\ G &= 1.0 - M' \\ B &= 1.0 - Y' \end{align} $$

Kontrolní otázky

  • Jak by vypadaly vztahy, kdyby hodnoty byly v jiném rozsahu? (např. $<0, 255>$)
  • Pokud budeme uvažovat rozsah hodnot $<0, 255>$, jsou toto platné hodnoty CMYK:
    • $C = 107, M = 131, Y = 17, K = 58$
    • $C = 54, M = 226, Y = 0, K = 63$
    • $C = 0, M = 0, Y = 0, K = 157$
    • $C = 0, M = 16, Y = 138, K = 102$
  • Proč se šetří při použití modelu CMYK barevné tonery?

HSV & HSL

“ Hue, Saturation, Value & Hue, Saturation, Lightness “

HSV

  • Hue - barevný tón
  • Saturation - sytost
  • Value - jas
  • Barevný model, který se používá především k interaktivnímu výběru barev a dále k vizualizaci skalárních hodnot pomocí barevné škály.
  • Převod z RGB do HSV a zpět nemá formu jednoduchého vzorce, ale má podobu algoritmu.

HSL

  • Hue - barevný tón
  • Saturation - sytost
  • Lightness - světlost
  • Opět slouží pro interaktivní výběr barvy.
  • Algoritmus převodu z RGB a zpět je podobný algorimtu pro model HSV.

Převod z RGB do HSV (Hue)

$$ \begin{align} R, G, B &\in <0, 1> \\ min &= MIN(R, G, B) \\ max &= MAX(R, G, B) \\ H &\in <0, 2\pi> \\ H &= \begin{cases} max = min; & 0 \\ max = R; & \frac{\pi}{3}\frac{G - R}{max - min} \mod 2\pi \\ max = G; & \frac{\pi}{3}\frac{B - R}{max - min} \mod 2/3\pi \\ max = B; & \frac{\pi}{3}\frac{R - G}{max - min} \mod 4/3\pi \end{cases} \end{align} $$

Převod z RGB do HSV (Saturation, Value)

Saturation (sytost) lze vypočítat pomocí následujícího vztahu:

$$ \begin{align} S &\in <0, 1> \\ S &= \begin{cases} max = 0; & 0 \\ max \neq 0; & 1 - \frac{min}{max} \end{cases} \end{align} $$

Value (jas) lze vypočítat pomocí následujícího vztahu:

$$ \begin{align} V &\in <0, 1> \\ V &= max \end{align} $$

YUV & YIQ & YCBCR

CIE XYZ

Chromatický diagram

Gamut

ICC

Kalibrace