Hlavní navigace

Praktická správa barev v Linuxu a kalibrace monitoru

V dnešní době digitálních fotoaparátů a domácích fototiskáren si jistě nejeden uživatel klade otázku: Jak zařídit, aby moje výtisky barevně odpovídaly tomu, co vidím na monitoru? Za posledních několik let se situace kolem správy barev v Linuxu naštěstí značně zlepšila.

Tweetni to Odměnte autora  Jak to funguje?

Nejprve bych krátce popsal, co je zdrojem všech potíží s barvami. Mnoho z vás jistě tuší, že aplikace obvykle pracují s barvou zakódovanou do trojice červená/zelená/mo­drá (RGB). Tyto hodnoty pak posílá na displej, ukládá do souboru nebo předává tiskovému ovladači. A zde je jádro problému: 255/0/0 je nějaká červená, ale jaká přesně? A jak zařídit, že to bude stejná červená i na kolegově displeji od jiného výrobce?

Dříve bylo nutné mít převodník pro každé dvě zařízení, které přišly s dokumentem do styku. To už naštěstí neplatí, dnes máme univerzální ICC profily. ICC profil je soubor, který popisuje jakou přesně barvu reprezentují jednotlivé kombinace složek RGB (nebo třeba CMYK). Dělá to tak, že obsahuje mapu pro převod mezi popisovaným barevným prostorem (RGB, CMYK, ..) a univerzálním barevným prostorem CIE LAB, který byl speciálně navržen právě pro tyto účely.

Ve chvíli, kdy potom máte obrázek + profil popisující význam barev v něm a přijdete ke kolegovi, který má profil pro svůj monitor, tak knihovna pro správu barev porovná tyto dva profily (mapy barev) a zařídí, že na výstup se pošlou takové hodnoty RGB, jaké mají na kolegově zařízení stejný vzhled jako na vašem.

Podpora v Linuxu

Většina aplikací podporujících správu barev vyžaduje knihovnu starající se o práci s profily a barevnými prostory. Tato knihovna může být součástí operačního systému (například ICM v MS Windows nebo ColorSync na Mac OS X) nebo existovat samostatně. V Linuxu je za správu barev obvykle zodpovědná samostatná knihovna littlecms.

Seznam linuxových aplikací, které správu barev podporují naleznete například na Wikipedii. Jediný mně známý www prohlížeč s její podporou je Firefox 3, ale nastavení je ukryté v about:config. Jednoduchým způsobem, jak ho měnit, je například plugin Color Management.

Další součást systému, která musí správu podporovat je X server. Naštěstí nejvíce rozšířený server xorg vše potřebné podporuje, problém nastává pouze občas s požadavkem zavedení různých profilů pro více displejů. Mám vyzkoušené ovladače intel (naprosto bez problémů) a NVidia (je třeba nepoužít twinview, ale rozdělení na dva displeje a xineramu).

Pokud nemáte profil, bude vás ještě zajímat balík Argyll. Je to sada programů (nejen) pro vytváření profilů. Umožňuje též profily zavádět do systému, prohlížet a další operace. Podporuje většinu dnes prodávaných sond, kolorimetrů a spektrometrů. K dispozici je i GUI rozhraní pro Argyll. Existuje také konkurenční projekt LProf, který neumí profilovat tiskárny, ale zase nedávno přidal grafické rozhraní.

Kalibrace displeje

První a nejdůležitější podmínkou pro jakoukoliv rozumnou práci s barvami je samozřejmě mít seřízený displej. V běžné situaci, kdy máme pouze jeden LCD displej, sestává jeho seřízení ze tří kroků.

  1. Seřídíme si monitor, aby se choval co nejlépe i bez kalibrace
  2. Kalibrací doladíme zbývající detaily…
  3. … a pomocí profilu popíšeme schopnost reprodukovat konkrétní barvy.

K tomuto slouží program dispcal z již zmíněného balíku argyll. Má několik parametrů, na které se vyplatí upozornit:

-d ...... v připadě, že máte více displejů, tímto parametrem určíte který chcete kalibrovat
-y c .... CRT obrazovka
-y l .... LCD obrazovka
-t ...... teplota bílé, v DTP je standardní hodnota 5000K, ale často se doporučuje pro displej zvolit teplotu 6500K
-g 2.2 .. cílová gamma, 2.2 je doporučovaná vždy, když nejde o čistě MAC prostředí, pak se používá 1.8
-p ...... změna umístění barevného čtverce pro kalibraci na obrazovce, aby nepřekrýval OSD
-o ...... pokud chceme jen jednoduchý maticový profil
$ dispcal -y l -t 6500 -g 2.2 -p 1.0,0.5,1,0 mujdisplej

spustí se kalibrace sondy a následně nám je zobrazeno menu:

  1) Black level (CRT: Brightness)
  2) White point (Color temperature, R,G,B, Gain/Contrast)
  3) White level (CRT: Gain/Contrast, LCD: Brightness/Backlight)
  4) Black point (R,G,B, Offset/Brightness)
  5) Check all
  6) Measure and set ambient for viewing condition adjustment
  7) Continue on to calibration
  8) Exit
Monitor kalibrace

Přiložíme sondu na barevný čtverec na obrazovce a postupně použijeme tyto volby:

  • 2) úpravou barevných kanálů v OSD monitoru se pokusíme dosáhnout co nejmenšího čísla dE, stavový řádek nám napovídá, který kanál máme posunout kterým směrem.
  • 3) upravíme si jas, aby nám vyhovoval. Obvykle se budeme snažit dosáhnout hodnot mezi 80 a 100.
  • 5) na výpisu si můžeme zkontrolovat, že se displej chová rozumně.
  • 6) touto volbou si můžeme zkontrolovat světelné podmínky v místnosti. Ideálně by mělo osvětlení mít 5000K, v domácích podmínkách je to ovšem těžké, proto zkuste zajistit alespoň minimum odlesků na displeji a neutrální barvu stěn.
  • 7) a spustíme kalibraci…

Po úpravě chování monitoru můžeme přikročit k tvorbě barevného profilu (tedy mapy toho, čeho je monitor schopen). Pro tuto úlohu potřebujeme vypočítat barvu kalibračních vzorků, přečíst jeji skutečnou hodnotu a všechny tyto informace proměnit v cílový profil.

$ targen -v  -d3 -f1024 mujdisplej
$ dispread -v -k mujdisplej.cal mujdisplej
$ colprof -v -D"Popis meho displeje a jeho nastaveni v dobe kalibrace" -qm -S /usr/share/color/icc/sRGB.icm -cpp -dmt mujdisplej

Výstupem je soubor mujdisplej.icc, který obsahuje informace pro grafickou kartu (vylepšení přesnosti zobrazeni) a barevnou mapu pro tento displej v aktuálním nastavení. Jakákoliv změna nastavení jasu, kontrastu, nebo barev právě vyrobený profil znehodnotí.

Nakonec zavedeme profil do X serveru… (měli byste zřetelně vidět efekt způsobený kalibrací)

$ dispwin -L mujdisplej.icc

… a oznámíme aplikacím, že mají používat správu barev na tomto monitoru a s využitím tohoto profilu. Vhodné je si také příkaz pro zavedení profilu do X serveru zapsat do konfigurace vašeho prostředí, aby se spustil při každém přihlášení.

V tuto chvíli tedy máme připravené pracovní prostředí a můžeme začít připravovat fotografie pro tisk. V příští části se podíváme na to jak zařídit, aby i po vytištění pořád vypadaly barevně správně. Také se podíváme na několik dalších užitečných nástrojů pro zjištění barevné „mapy“ z profilu a ruční převod obrázků mezi barevnými prostory.

Odkazy

Martin Sivák

Martin Sivák pracuje jako programátor ve firmě Red Hat Czech a je jedním ze zakladatelů konference LinuxAlt.

Ohodnoťte jako ve škole:
Průměrná známka 2,87
Tweetni to Odměnte autora  Jak to funguje?

Vzdělávejte sebe i své lidi





.
  •  
    Firemní školení pro web a online marketing
  • Obsah školení přizpůsobíme na míru vaší firmě.
  • Odnesete si informace, které ihned uplatníte v praxi.

Detailní informace o individuálních školeních pro firmy »

       

Přehled názorů

Smula
Father Hurley 17. 6. 2009 00:55
Nový
├ 
Re: Smula
Jaroslav Šmíd 17. 6. 2009 01:18
Nový
│
├ 
Re: Smula
MarSik 17. 6. 2009 07:43
Nový
│
│
├ 
Re: Smula ???
Izak 18. 6. 2009 09:47
Nový
│
│
│
├ 
Re: Smula ???
MarSik 18. 6. 2009 10:59
Nový
│
│
│
├ 
Re: Smula ???
Milan Knížek 18. 6. 2009 17:01
Nový
│
│
│
└ 
Re: Smula ???
dan 22. 6. 2009 09:22
Nový
│
│
│
 
└ 
Re: Smula ???
Lael Ophir 23. 6. 2009 23:35
Nový
│
│
├ 
Re: Smula
Izak 18. 6. 2009 12:24
Nový
│
│
│
├ 
Re: Smula
MarSik 18. 6. 2009 13:22
Nový
│
│
│
└ 
Re: Smula
dan 22. 6. 2009 09:41
Nový
│
│
└ 
Re: Smula
Lael Ophir 23. 6. 2009 23:32
Nový
│
│
 
├ 
Re: Smula
Prezdivka 24. 6. 2009 12:21
Nový
│
│
 
└ 
Re: Smula
Martin Sivák 24. 6. 2009 22:42
Nový
│
│
 
 
└ 
Re: Smula
Lael Ophir 25. 6. 2009 01:12
Nový
│
├ 
Re: Smula
Prezdivka musi byt 17. 6. 2009 10:19
Nový
│
│
└ 
Re: Smula
povinná 17. 6. 2009 19:44
Nový
│
└ 
Re: Smula
Ivan 17. 6. 2009 14:54
Nový
│
 
└ 
Re: Smula
Tomáš Bžatek 17. 6. 2009 17:53
Nový
│
 
 
├ 
Re: Smula
Ash 17. 6. 2009 22:15
Nový
│
 
 
│
└ 
Re: Smula
Tomáš Bžatek 18. 6. 2009 10:00
Nový
│
 
 
└ 
Re: Smula
Ivan 21. 6. 2009 12:54
Nový
├ 
Re: Smula
vtech 17. 6. 2009 11:28
Nový
│
├ 
Re: Smula
rexxor 17. 6. 2009 12:32
Nový
│
└ 
Re: Smula
MilanK 17. 6. 2009 14:13
Nový
├ 
Re: Smula
Zdenek Jindra 17. 6. 2009 17:58
Nový
│
├ 
Re: Smula
merlin111 17. 6. 2009 19:22
Nový
│
│
└ 
Re: Smula
Milan Knížek 18. 6. 2009 07:33
Nový
│
│
 
└ 
Re: Smula
dan 22. 6. 2009 09:49
Nový
│
└ 
Re: Smula
Izak 18. 6. 2009 09:50
Nový
└ 
Re: Smula
Milan Knížek 18. 6. 2009 08:28
Nový
 
└ 
Re: Smula
Izak 18. 6. 2009 09:52
Nový
 
 
└ 
Re: Smula
p 18. 6. 2009 12:13
Nový
 
 
 
└ 
Re: Smula
Sten 18. 6. 2009 14:33
Nový
 
 
 
 
└ 
Re: Smula
Milan Knížek 18. 6. 2009 16:32
Nový
 
 
 
 
 
└ 
Re: smula
p 19. 6. 2009 00:00
Nový
A nie je to jedno?
Stevko 17. 6. 2009 11:47
Nový
├ 
Re: A nie je to jedno?
petr 17. 6. 2009 11:53
Nový
│
├ 
Re: A nie je to jedno?
Stanislav Brabec 17. 6. 2009 13:35
Nový
│
├ 
Re: A nie je to jedno?
haplo 17. 6. 2009 16:20
Nový
│
│
├ 
Re: A nie je to jedno?
Petr 18. 6. 2009 07:38
Nový
│
│
└ 
Re: A nie je to jedno?
bedo 19. 6. 2009 11:05
Nový
│
└ 
Re: A nie je to jedno?
dan 22. 6. 2009 09:58
Nový
├ 
Re: A nie je to jedno?
ld 17. 6. 2009 16:28
Nový
│
└ 
Re: A nie je to jedno?
hawran diskuse 17. 6. 2009 17:46
Nový
└ 
Re: A nie je to jedno?
dan 22. 6. 2009 09:53
Nový
Díky!
Michal Pěnka 17. 6. 2009 17:10
Nový
├ 
Re: Díky!
Sten 17. 6. 2009 17:25
Nový
├ 
Re: Díky!
michal 18. 6. 2009 01:09
Nový
└ 
Re: Díky!
MarSik 18. 6. 2009 12:00
Nový
Re: Praktická správa barev v Linuxu a kalibrace monitoru
Sten 17. 6. 2009 17:19
Nový
├ 
Re: Praktická správa barev v Linuxu a kalibrace monitoru
Allstar 17. 6. 2009 18:26
Nový
│
└ 
Re: Praktická správa barev v Linuxu a kalibrace monitoru
1john2 17. 6. 2009 20:15
Nový
│
 
└ 
Re: Praktická správa barev v Linuxu a kalibrace monitoru
Lael Ophir 23. 6. 2009 23:41
Nový
└ 
Re: Praktická správa barev v Linuxu a kalibrace monitoru
povinná 17. 6. 2009 19:49
Nový
Mam ted zmatek...
008 17. 6. 2009 22:15
Nový
├ 
Re: Mam ted zmatek...
Milan Knížek 18. 6. 2009 08:13
Nový
└ 
Re: Mam ted zmatek...
Izak 18. 6. 2009 11:25
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem