Článek popisuje vytvoření profilu pro digitální fotoaparát pomocí kalibračního vzorníku IT8.7/2 Wolfa Fausta a programů UFRaw (verze 0.15) a Argyll CMS (verze 1.0.3) - oba programy jsou šířeny pod licencí GPL.
Úskalí používání ICC profilů pro fotoaparáty
Nicméně, přesto se domnívám, že především v linuxu je vytvoření vlastního profilu přínosem.
Postup
Osobně používám jeden univerzální profil dle vzorníku fotografovaného při poledním slunci s předchozím vyvážením bílé.
Postup je následující:
Pořízení snímku vzorníku
Konverze RAW snímku
Senzor fotoaparátu zpracovává světelný signál lineárně (respektive téměř lineárně, bohužel), katodové monitory (CRT) zobrazují nelineárně (při dvojnásobně vyšším napětí na elektrodě nedojde k dvojnásobnému zvýšení jasu), tiskárny též nezobrazují lineárně (změna velikosti tiskového bodu neodpovídá změně míry hustoty/jasu). Nelinearita je popsána tzv. gama křivkou (její sklon určuje jas středních tónů). Pokud bychom nepoužívali správu barev, musíme aplikovat úpravu gama - v opačném případě by se snímek z digitálního fotoaparátu jevil tmavý. (Většina monitorů pro PC zobrazuje s gama blízkou 2.2. Taktéž prostřední část křivky profilu sRGB má gama blízké této hodnotě.)
Poznámka: monitory fy Apple Macintosh kdysi používaly gama 1.8. Bylo to pravděpodobně z toho důvodu, že laserové tiskárny téže společnosti byly charakterizovány stejnou gama křivkou. Ve výsledku bylo možné tisknout snímky z monitoru se správnou tonalitou i bez použití správy barev.
I v případě pracovního postupu se správou barev (jednotlivá zařízení - monitor či tiskárna - jsou na sobě vzájemně nezávislá) je vhodnější používat u všech platforem pro monitory gama kolem 2.2, která z pohledu vnímání lidského oka přirozeněji zobrazuje průběh polotónů.
Další postup popisuje vytvoření profilu, který se aplikuje na lineární snímek (tj. korekce gama bude definována přímo v profilu).
V UFRaw:
Pozn.: Způsob přípravy snímku ovlivní chování profilu - například pokud maximální hodnotu bílé ze vzorníku nastavíme na RGB 240, pak profil zesvětlí tyto vzorky tak, aby dosáhly hodnot blízko 255 (tj. bílé). Ve výsledku to znamená, že obětujeme část dynamického rozsahu senzoru.
Dále pokud špatně vyvážíme bílou, provede vyvážení profil. Např. necháme-li bílý bod příliš do žluta, pak profil tuto žlutou odstraní. Jinými slovy, při aplikaci na správně vyváženou bílou bude snímek do modra. To lze samozřejmě použít např. při studiových (tj. s kontrolovaným osvětlením) snímcích - místo ručního vyvážení bílé vybereme jednu z přednastavených možností (např. žárovkové světlo) a necháme na profilu "doladění".
Tohoto chování lze využít ke specifickým úpravám, nicméně obecně platí, že pro podobné úpravy je vhodnější použít ICC editor nabízející i další vychytávky (barevný posun pouze pro konkrétní odstíny) - tyto programy jsou bohužel pouze komerční a zřejmě neexistují pro linux.
Vytvoření profilu
ArgyllCMS je soubor programů (bez grafického rozhraní) pro tvorbu profilů pro tiskárny, monitory a skenery. Aplikace pro digitální fotoaparát je principiálně shodná s vytvářením profilu pro skener.
Nejprve zbavíme uložený snímek Meta informací a uložíme s LZW kompresí (použil jsem program ze sady ImageMagick):
$ mogrify -verbose -strip -compress LZW EOS_30D_daylight.tif
kde EOS_30D_daylight.tif je snímek vzorníku vytvořený UFRaw.
Vygenerujeme ti3 soubor s popisem hodnot zařízení:
$ scanin -v -dipn EOS_30D_daylight.tif it8.cht R040220.txt
kde it8.cht je soubor popisující typ testovací obrazce (nachází se v adresáři argyll/ref/ v balíku se zdrojovými kódy), R040220.txt je referenční soubor ke vzorníku dodaný jeho výrobcem (popisuje odchylky barev vzorníku od správných hodnot). Příkaz kromě jiného vytvoří soubor diag.tif, který zobrazuje mřížku přes tabulku se vzorníkem - je záhodno zkontrolovat, zda nedošlo k chybnému překryvu.
Výsledkem je soubor EOS_30D_daylight.ti3, který je použit při generování profilu:
$ colprof -v -A "Canon" -C "(C) 2008 Milan Knizek, free for use and distribution" -D "Canon EOS 30D (daylight)" -M "EOS 30D" -r 2.5 -qm -aS EOS_30D_daylight
kde -r 2.5 popisuje průměrnou odchylku čtených hodnot od teoretických (perfektních) hodnot. Jinými slovy, popisuje kvalitu senzoru. Vyšší hodnota vede k většímu "vyhlazení" zjištěných hodnot.
-qm označuje střední kvalitu profilu - vzhledem k malému počtu vzorků a předpokládanému "nedobrému" chování senzoru nemá smysl používat vyšší.
-aS označuje, jaký typ profilu má být vytvořen. V tomto případě se jedná o "single shaper curve and matrix". Alternativně lze zvolit "-as", kdy budou použity samostatné křivky pro jednotlivé kanály (záleží na chování senzoru pro jednotlivé kanály).
Výsledkem je EOS_30D_daylight.icc profil.
Pozn. 1: Typ profilu je obecně problematická záležitost. Pro zařízení s dobrým (čili snadno extra a interpolovatelným) chováním se hodí shaper + matrix profily - jsou malé a efektivní. Pro vyšší přesnost profilu jsou vhodnější LUT (s vyhledávací tabulkou) profily. Problém při charakterizaci senzoru je však v tom, že vzorník obsahuje málo barevných vzorků (tj. u LUT profilu by bylo stejně nutné mnoho hodnot interpolovat), vzorky nepokrývají všechny barvy, které senzor umí zachytit (LUT profily se nehodí pro extrapolaci chybějících hodnot směrem k hranicím gamutu senzoru) a chování senzoru není ideální (LUT profil by mohl vést k náhlým tonálním změnám, což vizuálně nevypadá dobře).
Jedinou křivku (Single shaper curve) volím proto, že před použitím profilu u běžných snímků měním úpravu EV a nastavení bílého bodu - tj. profil přesněji popisující chování R, G, B složek považuji pro univerzální použití méně vhodný.
Pozn. 2: Na konci výpočtu program colprof vypíše údaj o průměrné a maximální odchylce - myšlena je odchylka barev vzorků od žádoucích hodnot po aplikaci vytvořeného profilu, čili chyba profilu. Obvykle je žádoucí dosáhnout co nejnižších hodnot - průměrná odchylka kolem 2 by byla výborná, ale dle mých zkušeností je u fotoaparátů nedosažitelná. Snížení odchylky lze dosáhnout vyzkoušením různých nastavení při výpočtu profilu (především typ profilu - parametr -a", avšak mějte na paměti informace uvedené v předchozí poznámce), nejlepší je však začít kontrolou snímku vzorníku (žádné odlesky, škrábance, atd.).
Používání profilu
Nastavení v UFRaw je patrné z následujícího snímku:
Při používání profilu je dobré se vyhnout příliš odlišným hodnotám (EV, bílý bod, základní křivka, volba typu obnovení detailů při přeexpozici) od výchozího nastavení při tvorbě profilu, neboť při nelineárně se chovajícím senzoru tyto změny vnesou chyby do převodu barev.
Proto je lepší variantou provádět zásadní úpravy až na datech po aplikaci profilu - v UFRaw se v podstatě jedná o úpravu jasové křivky a saturace.Odkazy
International Color Consortium - specifikace ICC, novinky ze světa ICC. Doporučuji k přečtení jejich White Papers.
Reprodukce barev - srozumitelný výklad správy barev, popis chování a profilace vstupních a výstupních zařízení.
Color Management - trochu širší výklad správy barev.