Barva v počítačové grafice Poznámky k přednášce předmětu Počítačová grafika Martina Mudrová 2007
Barvy v počítačové grafice Co je barva? světlo = elmg. vlnění v rozsahu 4,3.10 14-7,5.10 14 Hz rentgenové zář ení zář ení gam a viditelná č ást spektra ultrafialové z. infrač ervené z. mikrovlny rádiové vlny 22 10 24 10 10 20 10 18 10 16 10 14 10 12 10 10 10 8 frekvence [Hz] 380 740 vlnová délka [nm] přepočet mezi frekvencí ν a vlnovou délkou λ: kde c... rychlost světla c=3.10 8 ms -1 achromatické světlo - obsahuje všechny frekvence v daném pásmu - zdroj: Slunce, žárovka - rozklad např. optickým hranolem monochromatické světlo obsahuje sv. zdroj jedné barvy s dominantní frekvencí c λ = ν barva tělesa dána schopností pohlcovat a odrážet záření o určitých frekvencích 2
Základní barvy Barva červená oranžová žlutá zelená tyrkysová modrá fialová Rozsah vlnových délek ~ 625 800 nm ~ 590 625 nm ~ 565 590 nm ~ 520 565 nm ~ 500 520 nm ~ 430 500 nm ~ 400 430 nm Rozsah frekvencí ~ 480 375 THz ~ 510 480 THz ~ 530 510 THz ~ 580 530 THz ~ 600 580 THz ~ 700 600 THz ~ 750 700 THz 3
Základní charakteristiky světla Barva (barevný tón)... závisí na dominantí frekvenci Jas (svítivost, luminance)...odpovídá intenzitě světla Sytost...čistota barvy světla - čím větší je sytost, tím užší je spektrum barevných frekvencí ve světle obsažených Světlost... velikost achromatické složky ve světle s dominantní frekvencí Barevnost (chromaticity)... slučuje sytost a dominantní frekvenci Komplementární barvy: takové 2 barevné zdroje, jejichž složením vznikne bílé světlo 4
Lidské vnímání barev Lidské oko - je schopno rozeznat asi 400 000 barevných odstínů, - je schopno rozeznat asi 60 úrovní šedé - záleží na světelných podmínkách - záleží na vzdálenosti objektu a oka, rozměru objektu - záleží na osobnosti (věk, únava,...) Receptory v lidském oku: -tyčinky - citlivá vrstva v sítnici, mimo žlutou skvrnu 130 miliónů, (porovnej s fotoaparátem) -umožňují vnímání světla - čípky - všude v sítnici, převážně ve žluté skvrně 6-7miliónů, umožňují barevné vidění, umožňují ostré vidění za den. světla vyřazeny za šera 3 typy: pro R, G, B trichromatické vidění 5
Lidské vnímání barev - příklad počet úrovní šedi: 80 40 20 10 (Machovy pásy) 6
Příklady optických klamů - vnímání tvarů a barev je ovlivněno také psychikou a dosavadními zkušenostmi osobnosti 7
Barevné rozlišení, bitová hloubka Co je barevná hloubka obrazu? Bitová hloubka? Barevné rozlišení? Barevná (bitová) hloubka obrazu = počet bitů, na nichž je uchována informace o jedné barvě v obrazu -může být rozšířena o další vlastnosti (průhlednost, blikání,...) Barevné rozlišení = celkový počet barev v obrazu Kvantifikace barev = proces převodu spojité změny intenzity téže barvy na konečný počet úrovní bit. hloubka n 1 bit 2 bity... 8 bitů=1 Byte... 24 bitů=3 Byte... BITY 0 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0... 1 1 1 1 1 1 1 1 počet b. 2 n 2 4 256 BARVA (příklad) bílá sv. šeď bílá tm. šeď černá černá 256 odstínů... 16 mil....... 8
Vytváření barev v PG Jak se vytváří barva na monitoru či tiskárně? základní otázky: 1. výběr základní množiny barev použitelných k namíchání bar. odstínů 2. volba způsobu míchání základních barev řešení: 1. Red, Green, Blue Cyan, Magenta, Yellow 2. Aditivní čím více barvy, tím světlejší výsledek Subtraktivní čím více barvy, tím tmavší výsledek důsledek: 0,2 0,4 0,6 λ x B Β není možno nalézt takové 3 základní barvy, aby pokryly všechny odstíny viditelného spektra 0,8 0,6 0,4 0,2 barvy A, B, C : x= A A+B+C C (Commission Internationale d`eclaire) y= B A+B+C C...bílé světlo 0,8 z= x+y+z=1 C A+B+C hranice viditelného spektra λ xα A 9
Barevný model RGB jednoduše technicky realizovatelný základní barvy: červená, zelená, modrá aditivní míchání barev RGBA - A...průhlednost (a - channel) použití: monitory, B 0,0,1 modrá 0,1,1 tyrkysová (cyan) Red Yellow Green 1,0,1 fialová (magenta) odstíny šedi 1,1,1 bílá White Magenta Cyan 0,0,0 černá 0,1,0 zelená G Blue 1,0,0 červená 1,1,0 žlutá R 10
Barevný model CMY základní barvy: tyrkysová, fialová, žlutá subtraktivní míchání barev CMYK - K=black - lepší kvalita černé - černá je nejlevnější inkoust použití: tiskárny, Cyan Green Red Black Yellow Blue Blue Magenta 1,0,1 zelená C Y 0,0,1 žlutá 0,0,0 bílá odstíny šedi 1,1,1 černá 1,0,0 1,1,0 tyrkysová modrá (cyan) 0,1,1 červená 0,1,0 fialová M (magenta) 11
Barevný gamut = rozsah barev, které jsou dosažitelné v daném barevném prostoru 1. RGB, CMYK... omezený barevný gamut 2. RGB x CMYK... rozdílný barevný gamut důsledky: - nepřítomnost barev mimo bar. gamut => snaha o jejich přibližné zobrazení - rozdílný obraz na monitoru a na tiskárně - existují barevné vzorníky 12
Barevný model HSV Jak mám namíchat světlejší odstín téže barvy? Model HSV (HSB) H barevný tón (hue), <0, 360 > udává převládající spektr. barvu S sytost (saturation), <0,1> určuje čistotu barvy (-příměs jiných barev ) V (B) jasová hodnota (value, brightness) <0,1> dána množstvím bezbarvého světla C o (120 ) G B o (240 ) hodnota V Y W M o R(0 ) čisté barvy: obvod podstavy (V=1, S=1) dominantní barvy: plášť (S=1) K barevný tón H sytost S 13
Barevný model HLS Ale lidské oko špatně rozeznává barvy i při přemíře světla... Model HLS H barevný tón (hue), <0, 360 > udává převládající spektr. barvu světlost L W L světlost (lightness), <0,1> velikost achromatické složky S sytost (saturation) <0,1> určuje čistotu barvy (-příměs jiných barev ) C G L=0.5 B Y M R nejjasnější čisté barvy: obvod podstavy (L=0.5, S=1) K barevný tón H sytost S 14
Barevné modely CIE CIE L*a*b... lineární L... jas (lightness), <0, 100> (černá-bílá) a... zeleno-červená stupnice, <-128, 127> b... modro-žlutá stupnice <-128, 127> CIE LCh... polární (~ HLS) L... jas (lightness), <0, 100> C... sytost (saturation) <-128, 127> h... barevný tón (hue), <0, 360 > 15
Další barevné modely Modely pro televizní a video techniku: YUV, YC B C R, YIQ -oddělení jasové složky (luminance) Y (B) a barevné (chrominance) -... YUV (UWB)...norma PAL YIQ...norma NTSC (Amerika) Y jas I,Q oranžové a modrozelené světlo YC B C R norma SECAM, video, formát JPEG Y <0,1> - jas C B, C R <-0.5, 0.5> - modré a červené světlo převody s RGB modelem jednoduché (maticové násobení) 16
Převody mezi barevnými modely Převod RGB - CMY: Red a Cyan Green a Magenta Blue a Yellow } jsou komplementární barvy c m y = 1 1 1 r g b! různé trojúhelníky v CIE diagramu (color gamut) Převod RGB - HLS, HSV: algoritmus - nedefinované hodnoty (např. H pro S=0),... 17
ICC Profil Při přenosu obrázků se dále ještě nastavuje ICC profil. Co to je? ICC (International Color Consorcium)... sdružení nejvýznamnějších firem zabývajících se barvami v PG (výrobci tiskáren, monitorů, fotobanky,...) ICC profil zařízení = popis barevného rozsahu zařízení, standardizováno CMS (Color Management System) = systém správy barev - zabezpečuje převod barevných dat do bar. prostoru nezávislého na zařízení a naopak výhoda: změna ICC profilu dává přehled o změnách ke kterým dojde při přenosu na jiné zařízení 18
Zápis barvy, barvy pro web Co to je (v html kódu) barva FF01A5?... zpravidla v RGB vyjádření 3 složek barvy v šestnáctkové soustavě bar. složka dvojková desítková šestnáctková R G 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 255 FF 1 01 B 1 0 1 0 0 1 0 1 165 A5 bezpečné barvy pro web... zobrazí se správně i na zařízení s bit. hloubkou 8 bit 19
Barevná reprezentace rastrového obrazu 1. true color: 3x8 bitů/1pixel ~ 16 mil. barev + popř. další bity vyhrazené dalším informacím, R G B 3 x 0-255 2. indexový: použití palety, typicky 3-3-2 nebo vlastní paleta obrázku R G B 5 5 0 255255 tyrkys 3. intenzitní: odstíny šedi počet odstínů záleží na bitové hloubce, typicky 8bit/1pixel~256 odstínů šedi převod z RGB: I=0.299r+0.587g+0.114b 4. monochromatický obraz: 1bit/1pixel - černobílý 20
Redukce barev Jak mohu omezit bitovou hloubku obrazu? vstup: obraz RGB 3x8 bitů cíl: obraz RGB 1x8 bitů R G B G original řešení: použití barevné palety (colormap) R B Tvorba barevné palety: 1. standardní 3-3-2 R G B 2. adaptivně vytvářená na základě histogramu požadavky na oblasti v RGB krychli: 1. stejná velikost 2. stejný počet odstínů R B G 3-3-2 adaptivní G R 21
Příklad redukce barev I originál uniformní parametrizace neuniformní parametrizace R G B R G B B B G G R R 1 1 0.9 0.8 0.7 1 0.9 0.8 0.7 0.9 0.8 0.7 0.6 0.6 0.6 0.5 0.5 0.5 0.4 0.4 0.4 0.3 0.3 0.3 0.2 0.2 0.2 0.1 0.1 0.1 0 0 10 20 30 40 50 60 0 10 20 30 40 50 60 0 0 10 20 30 40 50 60 22
Rozptylování a polotónování = techniky pro omezení barevné palety - použití v barevném i v šedotónovém zobrazení polotónování (halftoning) => dochází k zvětšení obrazu různé rozptylovací matice použití u tiskáren rozptylování (dithering) => => => velikost obrazu je zachována algoritmy: - náhodné rozptýlení - distribuce chyby (Floyd-Steinberg) 23
Příklad redukce barev II originál 256 úrovní šedi černo-bílý černo-bílý s ditheringem 24
Algoritmus náhodného rozptýlení Příklad: Vstup: šedotónový obraz s bit. hloubkou 4 bity/pixel (tj. 16 úrovní šedi - I vst <0,15>) Cíl: Černobílý obraz bitová hloubka 1bit/pixel ( I výst <0,1> ) Algoritmus náhodného rozptýlení: - pro každý pixel výst. obrazu: I výst =0 jestliže I vst >= náh. číslo z <0,15> pak I výst = I výst +1 vlastnosti algoritmu: pixelys I vst =0 budou mít I výst =0 (černý p. zůstane černý) pixelys I vst =15 budou mít I výst =1 (bílý p. zůstane bílý) pixelys I vst (0,15) budou černé či bílé se zachováním jasových poměrů v obrázku díky porovnání I vst s náhodným číslem 25