4 Rozklad na tiskové barvy Obsah Předchozí kapitola Následující kapitola Titulní strana

          Rozklad na tiskové barvy je klíčovým tématem diplomové práce. Vstupem rozkladu je barevná bitmapa, výsledkem je sada jednobarevných bitmap odpovídajících jednotlivým tiskovým barvám a jejich odstínům. Je nutné si uvědomit, že ostatní části diplomové práce s rozkladem úzce souvisejí - popisují techniky, jakými lze výsledky rozkladu zlepšit.

          Použitou metodu jsem postupně zdokonaloval. Výchozím bodem pro mne byla publikovaná metoda klasifikace barev, na jejímž základě jsem vytvořil obecnější algoritmus. Postupné zdokonalování metody demonstruji na výsledcích použitých metod.


4.1 Základní metoda klasifikace barev

          Při konstrukci algoritmu pro klasifikaci barev jsem vyšel z metody uvedené v [5]. Autor této knihy řeší rozklad na tiskové barvy pro případ japonské topografické mapy v měřítku 1:25000. Mapa je vytištěna na bílém papíře, pro tisk jsou použity celkem tři tiskové barvy: černá, hnědá a modrá. Algoritmus je možné samozřejmě rozšířit o další tiskové barvy, pro jednoduchost jsem jej ale ponechal v jeho publikované podobě.

Základní metoda klasifikace barev.

Obrázek 4.1
Základní metoda klasifikace barev.

          Vstupem algoritmu je barevná bitmapa a barvy C0 - C3 (C0 je barva pozadí, C1 - C3 jsou tiskové barvy). Barvy je nutné zjistit ručně, jejich zpřesnění autor doporučuje provést na základě výsledků klasifikace. Algoritmus prochází postupně vstupní bitmapu a pro každý pixel vyhodnotí funkci převádějící jeho RGB hodnotu (označena C) na jeden z indexů 0 - 3. Výsledná hodnota značí, která z tiskových barev nejlépe odpovídá barvě pixelu. Na základě tohoto výsledku jsou vygenerovány tři bitové mapy představující rozklad mapy na tiskové barvy (pro pozadí není bitová mapa vygenerována).

          Na obrázku 4.1 je zobrazen histogram výřezu mapy pro orientační běh, ve kterém se vyskytuje pouze černá, hnědá a modrá barva. V histogramu jsou zvýrazněny barvy C0 - C3 včetně jejich přechodů (autor uvažuje pouze přechody tiskových barev na barvu pozadí). Písmenem C je označena klasifikovaná barva.

          Pro klasifikaci barev jsou kromě hodnot Ci důležité také úhly mezi přímkami C0 - C a C0 - Ci v RGB prostoru označené jako Ti. Výsledkem klasifikace je index k určený pomocí výsledků funkcí hk a bk:

          Rovnice 4.1 (4.1)

          Funkce hk popisuje barvu C vzhledem k barvě Ck na základě barevného odstínu. Nabývá hodnot mezi 0 (pokud C leží na přímce C0 - Ck' pro k' různé od k) až 1 (pokud C leží na přímce C0 - Ck). Výsledek této funkce je výchozí pro výpočet funkce bk - vybereme k, pro které vyšla maximální hodnota hk.

          Funkce bk popisuje barvu C na základě jasu (přesněji řečeno podle polohy na přímce C0 - Ck). Tato funkce nabývá hodnot z intervalu <0, 1>. Je-li výsledkem 0, průmět barvy C na přímku C0 - Ck padl do bodu C0, je-li výsledkem 1, průmět barvy padl do bodu Ck. Podle výsledku této funkce rozhodneme, zda barvu C klasifikujeme jako C0 nebo Ck.

          Algoritmus uvedený ve zmíněné knize je mírně odlišný od mé interpretace. Autor navíc zavádí ještě funkci ek, která je zřejmě rozhodujícím kritériem klasifikace:

          Rovnice 4.2 (4.2)

          Bohužel již neříká, jak spočtenou hodnotu využít. Nabízí se možnost spočíst ek pro k = 1, 2, 3 a jako výsledek klasifikace zvolit k, pro které nabývá funkce ek maximum. Z popisu chování funkcí bk a hk lze odvodit, že by tento postup byl korektní. Problémem ale je, že není možné tímto způsobem rozpoznat barvu pozadí, protože bk a hk nejsou definovány pro k = 0.

          Výsledky klasifikace jsou velice slibné. Chyby způsobuje pouze přetisk hnědé a modré - výsledná barva se klasifikuje jako černá. Důsledkem jsou přerušené linie v hnědé a modré barvě a jejich průniky přidané do černé barvy.

Výsledky základní metody klasifikace barev (vstupní obrázek).
vstupní obrázek
Výsledky základní metody klasifikace barev (separace BK).
separace BK
Výsledky základní metody klasifikace barev (separace BR).
separace BR
Výsledky základní metody klasifikace barev (separace BL).
separace BL

Obrázek 4.2
Výsledky základní metody klasifikace barev.


4.2 Model popisující vlastnosti tiskových barev

          Výše popsaný způsob klasifikace funguje pro zvolený druh map velmi dobře. Na dobrých výsledcích mají ale z velké části podíl vlastnosti těchto map:

          V této kapitole se budu zabývat teoretickým modelem popisujícím chování skutečných tiskových barev. Na základě teoretických poznatků doplním základní verzi algoritmu pro klasifikaci barev o přetisky a odstíny.


4.2.1 Odstíny barev

          V mapách pro orientační běh se používá všech barev kromě černé také k vyplňování ploch. Plochy mohou být vyplněny buď sytou barvou, nebo jejím odstínem. Rozlišujeme dva druhy odstínů - světlejší (cca 25%) a tmavší (cca 50%). Podrobnější informace o použití tiskových barev jsou uvedeny v tabulce 2.1.

          Pro tisk odstínů se nepoužívají zvláštní tiskové barvy, odstíny jsou řešeny pomocí rastrů. Technologie tisku rastrů se ale liší - setkal jsem se s rastry tvořenými sítí bodů nebo šrafováním. Na novějších mapách, které jsem měl k dispozici, se vyskytují výhradně rastry složené z bodů. Liší se ale v hustotě, velikosti bodů a ve sklonu sítě.

          Hustota rastru má zásadní vliv na výsledky digitalizace. V případě menší hustoty sítě obsahuje digitalizovaný obraz kruhy o průměru 2 - 5 pixelů, středy kruhů jsou od sebe vzdáleny zhruba 8 pixelů. Tento případ je nejčastější (zejména u novějších map). Existují také ale mapy s větší hustotou rastru. Hustota může být až taková, výsledkem digitalizace je plocha vyplněná barvou odpovídající hustotě rastru. Výsledky digitalizace rastrů různé hustoty jsou na obrázku 4.3.

Digitalizace rastrů různé hustoty (vzdálenost 12 pixelů).
vzdálenost 12 pixelů
Digitalizace rastrů různé hustoty (vzdálenost 8 pixelů).
vzdálenost 8 pixelů
Digitalizace rastrů různé hustoty (vzdálenost 4 pixely).
vzdálenost 4 pixely
Digitalizace rastrů různé hustoty (vzdálenost 2 pixely).
vzdálenost 2 pixely

Obrázek 4.3
Digitalizace rastrů různé hustoty.

          Výsledky digitalizace hustých rastrů ukazují, že má-li být zachována informace o odstínu barvy, je nutné zavést další barvy, které budou výsledkem separace. Pro rozpoznávání by bylo výhodné, aby do rozkladu na tiskové barvy byly započítány i odstíny tiskových barev, a to bez ohledu na technologii tisku odstínů. Výsledkem rozkladu tedy budou bitové mapy odpovídající následujícím tiskovým barvám a jejich odstínům:

označení   jméno barva odstín
BK černá černá 100%
DkBR tmavá hnědá hnědá 100%
LtBR světlá hnědá hnědá 50%
DkBL tmavá modrá modrá 100%
LtBL větlá modrá modrá 50%
označení   jméno barva odstín
DkGR tmavá zelená zelená 100%
MdGR střední zelená zelená 50%
LtGR světlá zelená zelená 25%
DkYL tmavá žlutá žlutá 100%
LtYL světlá žlutá žlutá 50%

Tabulka 4.1
Tiskové barvy včetně odstínů.

          Pro účely popisu vlastností tiskových barev zavedu operace sčítání, násobení, minima a maxima pro barvy v barevném systému RGB. Operace jsou definovány stejně jako u vektorů:

          Rovnice 4.3 (4.3)

          Na základě definovaných operací definuji ještě operaci přechodu mezi barvami. Výsledkem je barva smíchaná ze dvou barev v předepsaném podílu:

          Rovnice 4.4 (4.4)

          Definice přechodu mezi barvami přesně vystihuje situaci, kdy bylo při digitalizaci n% pixelu pokryto barvou B a zbytek pixelu měl barvu A. To znamená, že např. 50% velmi hustý rastr zelené barvy vytištěný na papíře má barvu [BG --> GR]0,5.


4.2.2 Přetisk barev

          Na mapách se kromě tiskových barev a případně jejich odstínů vyskytují také barvy vzniklé přetiskem několika tiskových barev. Tato skutečnost je důležitá ze dvou pohledů:

          Nejprve je potřeba určit, jakým způsobem probíhá přetiskování barev. Protože se mi nepodařilo najít literaturu zbývající se touto tématikou, navrhl jsem model na základě praktických výsledků přetisku. Model je odvozen ze subtraktivního skládání barev.

          Subtraktivní skládání barev je založeno na barevném systému CMY (v barevném systému CMY jsou operace sčítání, násobení, minima a maxima zavedeny stejně jakou u systému RGB). Jedná se o skládání dokonale kryjících tiskových barev. Aby nemohlo dojít k záměně barevných systémů, barevný systém uvádím jako horní index.

          Rovnice 4.5 (4.5)

          Skutečné tiskové barvy ale nekryjí dokonale, proto je reálný výsledek světlejší než spočtený. Z tohoto důvodu (není to ale jediný důvod) jsou např. v barevných inkoustových tiskárnách základní tiskové barvy CMY doplněny ještě černou barvou - černá barva smíchaná z CMY není dostatečně černá.

          Na základě praktické zkušenosti jsem subtraktivní skládání barev doplnil o koeficienty průhlednosti a krytí. Koeficient krytí c udává podíl tiskové barvy na výsledku, koeficient průhlednosti t udává podíl pozadí na výsledku. Koeficienty se mohou pro různé tiskové barvy lišit - proto používám indexování. Na základě těchto koeficientů jsem zavedl operaci přetisku A|B:

          Rovnice 4.6 (4.6)

          Jedná se o intuitivní zápis - např. A|B|C znamená, že přes barvu A je přetištěna barva B a přes výsledek ještě nakonec barva C. Výsledek přetisku závisí pouze na koeficientech svrchní barvy. Položíme-li t = c = 1 získáme subtraktivní skládání barev, položíme-li t a c tak, aby t + c = 1, získáme skládání barev pomocí alfa-kanálu:

          Rovnice 4.7 (4.7)

          Na obrázku 4.4 jsou zobrazeny výsledky přetisku veškerých tiskových barev a jejich odstínů pro hodnoty t = 20% a c = 80% (pro všechny tiskové barvy společné). Další informace o barevných systémech, skládání barev a alfa-kanálu lze nalézt v [1].

Přetisky tiskových barev a jejich odstínů.

Obrázek 4.4
Přetisky tiskových barev a jejich odstínů.


4.2.3 Vlastnosti modelu

          Po zavedení operací přechodu (značeno [A --> B]n) a přetisku (značeno A|B) zrevidujeme barvy, které se mohou v digitalizovaných mapách vyskytovat. V dalším textu budu předpokládat, že známe barvu pozadí BG a sadu tiskových barev včetně koeficientů krytí a přetisku (BK, cBK, tBK), (BR, cBR, tBR), (BL, cBL, tBL), (GR, cGR, tGR), (YL, cYL, tYL). Postup stanovení jejich hodnot bude naznačen v následující kapitole.

          Nejprve rozeberu nejjednodušší případ, kdy je na papíře vytištěn samostatný objekt sytou tiskovou barvou. Situace je znázorněna na obrázku 4.5 (pro případ zelené barvy):

Přechody barev na hranicích objektů (ideální digitalizace).
ideální digitalizace
Přechody barev na hranicích objektů (reálná digitalizace).
reálná digitalizace

Obrázek 4.5
Přechody barev na hranicích objektů.

          Z obrázku je zřejmé, že výsledek reálné digitalizace se od ideální v zásadě neliší, rozdíl je pouze v šířce oblasti, na níž je barevný přechod - proto není nutné rozlišovat mezi těmito případy. Zatímco v případě ideální digitalizace má přechodová oblast šířku nejvýše jeden pixel, u reálné digitalizace je její šířka větší. Později uvidíme, že z principu není možné některé barvy rozlišit a že je vhodné, aby přechodová oblast byla co nejužší. Pro zúžení přechodové oblasti slouží metody předzpracování.

          Veškeré barvy obsažené v obrázku 4.5 rozpozná základní algoritmus klasifikace. V řeči zavedených operátorů můžeme říci, že základní algoritmus rozpoznává barvy typu BG, BG|A a [BG --> BG|A].

          V případě, kdy jsou odstíny barev tvořeny příliš hustými tiskovými rastry, je nutné rozpoznávat další tiskové barvy. Způsob rozšíření ukáži na příkladu s jedinou tiskovou barvou A. Odstín barvy A o hustotě n označím jako A' = [BG --> BG|A]n. Nyní bude potřeba rozpoznávat barvy BG, A' ,BG|A a přechody [BG --> A'], [A' --> BG|A]. Pro zefektivnění algoritmu lze využít skutečnost, že oba přechody leží v jedné přímce a tedy stačí rozpoznávat přechod [BG --> BG|A] o (výsledku klasifikace rozhodneme na základě umístění).

          Po řešení klasifikace odstínů můžeme přistoupit k přetiskům. Přetisky samotné nepůsobí mnoho potíží - do algoritmu pro klasifikaci stačí přidat přetisknutou barvu. Přetisknout je možné dvě ale i více tiskových barev přes sebe. Při přetisku více než dvou barev jsou výsledné barvy již velmi tmavé (tmavý výsledek působí již přetisk tří nejsvětlejších tiskových barev BG|YL|GR|BL) a jsou tedy obtížně rozlišitelné. Naštěstí je případ přetisku tří a více tiskových barev na mapách řídkým jevem - ve své diplomové práci uvažuji pouze přetisky dvou barev typu BG|A|B. Rozšíření o odstíny barev lze provést stejně jako v minulém případě.

          Komplikace způsobí přechody na hranicích objektů. Budeme-li uvažovat objekty ve dvou barvách A (tištěna jako první) a B, které se mohou libovolně překrývat, obrázek může obsahovat následující barvy:

          Rovnice 4.8 (4.8)

          Zatímco jednoduchému přechodu [A --> B] odpovídá v RGB krychli úsečka A - B, kombinovanému přechodu [[A --> B] --> C] odpovídá v obecném případě trojúhelníková plocha s vrcholy A, B a C. Samotný fakt, že obecnému přetisku přechodů odpovídá plocha nevadí, potíž působí skutečnost, že v reálných případech dochází k protínání těchto ploch a pouze na základě RGB hodnoty nemusí být jednoznačně určeno, jakým přetiskem barva vznikla.

          Situace s přetisky přechodů ale není neřešitelná, jak by se po předchozím odstavci mohlo zdát. V mapách se vyskytují obecné přetisky pouze ve speciálních případech. Nejběžnějším případem je situace, kdy se přechody nekryjí - to znamená, že je buď přechod přetištěn přes sytou barvu a nebo je sytá barva přetištěna přes přechod. Obě tyto situace jsou zobrazeny na obrázku 4.6.

Základní přechody barev na hranicích objektů s přetiskem (hranice objektu v horní vrstvě).
hranice objektu v horní vrstvě
Základní přechody barev na hranicích objektů s přetiskem (hranice objektu ve spodní vrstvě).
hranice objektu ve spodní vrstvě

Obrázek 4.6
Základní přechody barev na hranicích objektů s přetiskem.

          V případě přechodu v horní vrstvě je výsledná barva [A|B --> A|B|C]n a přechod se odrazí v RGB krychli jako úsečka A|B - A|B|C. V případě přechodu ve spodní vrstvě již není situace tak jednoduchá. Lze ale dokázat, že [A --> A|B]n|C = [A|C --> A|B|C]n a tedy i tento přechod se odrazí v RGB krychli jako úsečka, tentokrát ale mezi A|C a A|B|C. Odvození závislosti je provedeno v barevném systému CMY:

          Rovnice 4.9 (4.9)

          Na závěr bych chtěl ještě podotknout, že zvolený model je stabilní vůči nerovnoměrnému krytí tiskové barvy (potom se barva klasifikuje jako přechod). Naopak náchylný je na šum způsobující změnu odstínu barvy ve smyslu hue - jeho příčinou mohou být zrnka v papíru, šmouhy apod.


4.3 Definice a korekce barev

          Vstupem klasifikačního algoritmu je barevná bitmapa, barva pozadí a sada tiskových barev včetně koeficientů průhlednosti a krytí. Všechny barvy včetně koeficientů je nutné zjistit a zadat ručně. Kromě ručního způsobu zadání lze použít také poloautomatický způsob, který se na základě přibližných hodnot (to mohou být hodnoty předdefinované programem) pokusí určit hodnoty skutečné.


4.3.1 Ruční definice tiskových barev

          Nejjednodušší je stanovení barvy pozadí. Tato barva není zatížena žádnými koeficienty a lze ji tedy přímo odečíst ze vstupního obrazu. Dále zbývá určit tiskové barvy. Za předpokladu znalosti koeficientů t a c je lze spočítat pomocí barvy A' odečtené z mapy následujícím způsobem:

          Rovnice 4.10 (4.10)

          Zbývá tedy nalézt způsob, jakým určit koeficienty t a c. Koeficient tB lze snadno spočítat pomocí barev BG, BG|A, BG|B a BG|A|B (ty lze odečíst z mapy):

          Rovnice 4.11 (4.11)

          Koeficient c nelze jednoznačně určit, protože úzce souvisí s tiskovou barvou. Z definice přetisku je zřejmé, že cB se používá pouze ve spojení cBB (a na druhou stranu ve vstupním obrazu se použije tisková barva B vždy přenásobena cB) - rozhodující tedy nejsou složky B a cB, ale pouze výsledek cBB. Proto je možné stanovit c libovolně (za dodržení podmínky v definici přetisku).

          Postup určení tiskových barev a koeficientů je tedy následující:


4.3.2 Poloautomatická definice tiskových barev

          Nevýhodou ruční definice tiskových barev je její velká pracnost. Poloautomatická definice využívá přibližných (typických, předdefinovaných) tiskových barev a koeficientů t a c, které se na základě histogramu vstupního obrazu snaží zpřesnit.

          Nejprve popíši algoritmus korekce barev. Vstupem algoritmu je histogram vstupního obrazu (pro každou hodnotu RGB je zaznamenán počet pixelů této barvy) a sada barev A1A2, ... , An. Výsledkem algoritmu je sada korigovaných barev B1B2, ... , Bn. Pro účely výpočtu definuji funkci f a množiny Ri. Funkce f přiřadí každé RGB hodnotě jeden z indexů 1, 2, ... , n na základě minimální vzdálenosti od Ai.

          Rovnice 4.12 (4.12)

          Z množiny Ri vyberu podle histogramu nejzastoupenější barvu - to bude výsledná barva Bi. Lepší možností je vybrat výslednou barvu v závislosti na zastoupení barev z okolí, ne pouze na základě jediné barvy. Aby korekce barev poskytovala správné výsledky, nesmí se vstupní hodnoty Ai od skutečných příliš lišit. Také je potřeba dát na vstup nejzastoupenější barvy - pokud některou z barev vynecháme, může korekce na místo této barvy přiřadit jinou. Z těchto důvodů korekci aplikujeme vždy na kompletní sady barev, tj. na (BG, BG|A) nebo (BG, BG|A, BG|A|B). Omezení možnosti chybné klasifikace můžeme dosáhnout zavedením koeficientu t a úpravou definice množiny Ri.

          Rovnice 4.13 (4.13)

          Nyní již můžeme přistoupit k využití korekce barev. Poloautomatická definice tiskových barev probíhá v následujících krocích:


4.3.3 Upřesnění výsledných barev

          Jinou možností zadání barev je nezadávat (ať už ručně nebo poloautomaticky) tiskové barvy a koeficienty, ale přímo výsledné barvy (tj. barvy typu BG, BG|A a BG|A|B). Na tomto místě se nabízí myšlenka, že pokud zadáme přímo všechny výsledné barvy, celý předchozí teoretický rozbor je zbytečný. Není tomu tak - získané poznatky sice nejsou využity k výpočtu výsledných barev, ke klasifikaci přechodů ale ano. Významné jsou zejména poznatky o přetisku odstínů, zvláště pak důsledek rovnice 4.9.

          Dále by bylo výhodné zkombinovat definici tiskových barev (ať už ruční nebo poloautomatickou) s upřesněním výsledných barev tak, aby bylo možné předefinovat pouze některé výsledné barvy. Další možností je umožnit korekci předefinovaných barev. Pro definici barev doporučuji použít následující postup (tento postup je implementován):


4.4 Klasifikace

          Nyní již máme k dispozici kompletní sadu barev obsažených ve vstupním obraze. Posledním úkolem bude na základě barvy pixelu rozpoznat, z jaké tiskové barvy (nebo jejich kombinace) barva pixelu vznikla. Použitá klasifikace je bezkontextová (tj. nepoužívá okolí), pro zlepšení výsledků jsem do úprav rozloženého obrazu zahrnul také kontextové filtry, které mohou výsledek klasifikace upravit. Formálně můžeme klasifikační funkci C zapsat:

          Rovnice 4.14 (4.14)

          Způsob klasifikace vychází ze základní metody. Z důvodu zavedení odstínů ale nepoužívám pro výpočet úhly sevřené spojnicemi barev v RGB prostoru, ale vzdálenosti od bodů nebo spojnic bodů v RGB prostoru. Klasifikaci je možné rozdělit do dvou kroků:

          Rovnice 4.15 (4.15)


4.4.1 Klasifikační pravidla

          Klasifikační pravidla odpovídají barvám, odstínům a přechodům obsaženým ve vstupním obraze. Z tohoto důvodu jsem zavedl tři druhy pravidel: pravidla pro samostatné barvy a odstíny, pravidla pro přechod mezi barvami a pravidla pro přechod mezi barvami s rozlišením odstínů. U každého druhu je uveden výpočet funkcí d a p.


Pravidlo pro samostatnou barvu

          Nejjednodušší pravidlo odpovídá samostatné tiskové barvě typu BG, BG|A nebo BG|A|B bez přechodů do jiných barev. Pravidlo je definováno pomocí barvy cl a výsledku pcl.

          Rovnice 4.16 Rovnice 4.16 (4.16)


Pravidlo pro přechod mezi barvami

          Tato pravidla odpovídají základní metodě klasifikace barev. Pravidlo je definováno pomocí krajních barev přechodu clA a clB a výsledku pclA a pclB pro oba krajní body. Dále je vhodné definovat minimální zastoupení barvy m z intervalu <0, 1> (může být společné pro všechna pravidla), které ovlivňuje výsledek rozhodování mezi pclA a pclB na základě hodnoty t. Druhou možností je ponechat m pevné, běžná je hodnota 0,5.

          Rovnice 4.17 Rovnice 4.16 (4.17)


Pravidlo pro přechod mezi barvami s rozlišením odstínů

          Pravidlo pro přechod mezi barvami s rozlišením odstínů je rozšíření minulého druhu pravidel o rozpoznání odstínu v závislosti na hodnotě t. Z tohoto důvodu přibyl k parametrům odstín n a k výsledkům barva pclABn. Koeficient m se uplatňuje v každém intervalu zvlášť. Jedno pravidlo s rozlišením odstínu by bylo možné nahradit dvěmi pravidly bez rozlišení odstínu. Důvodem jejich zavedení je zvýšení efektivity výpočtu funkce C.

          Rovnice 4.18 Rovnice 4.16 (4.18)

          Pravidla s rozlišením odstínu jsou definována pouze pro jeden odstín mezi okrajovými barvami. V případě zelené tiskové barvy rozlišujeme světlý a tmavý rastr, proto je nutné rozšířit pravidla s rozlišením odstínu na dva mezistupně. Toto rozšíření je jednoduché a proto jej neuvádím.


4.4.2 Sada klasifikačních pravidel

          Sadu klasifikačních pravidel je potřeba sestavit uvážlivě. V žádném případě nelze použít všechna možná pravidla - s rostoucím množstvím pravidel roste i možnost chybné klasifikace. Vlivem struktury papíru, tisku i digitalizace vzniká šum, který může způsobit chybu v případě několika blízkých pravidel. Z tohoto důvodu je výhodnější používat raději pravidla pro samostatné barvy než pravidla pro přechody.

          Pro generování sady klasifikačních pravidel jsou výchozí dvě vlastnosti vstupního obrazu:

          Místo zdlouhavého popisu ukáži generování pravidel na praktickém příkladě se dvěma tiskovými barvami (pouze dvě barvy jsem použil z důvodu přehlednosti). Uvedena jsou doporučená schémata pro různé vlastnosti vstupního obrazu.

Používané sady klasifikačních pravidel (bez odstínů, kvalitní vstupní obraz).
bez odstínů, kvalitní vstupní obraz
Používané sady klasifikačních pravidel (s odstíny, kvalitní vstupní obraz).
s odstíny, kvalitní vstupní obraz
Používané sady klasifikačních pravidel (bez odstínů, běžný vstupní obraz).
bez odstínů, běžný vstupní obraz
Používané sady klasifikačních pravidel (s odstíny, běžný vstupní obraz).
s odstíny, běžný vstupní obraz

Obrázek 4.7
Používané sady klasifikačních pravidel.

          Výsledky vylepšené metody klasifikace barev jsou ukázány na obrázku 4.8. Při klasifikaci jsem použil metody s přechody bez odstínů (vstupní obraz byl v běžné kvalitě s neslitými rastry).

Výsledky vylepšené metody klasifikace barev (vstupní obrázek).
vstupní obrázek
Výsledky vylepšené metody klasifikace barev (separace BK).
separace BK
Výsledky vylepšené metody klasifikace barev (separace BR).
separace BR
Výsledky vylepšené metody klasifikace barev (separace BL).
separace BL
Výsledky vylepšené metody klasifikace barev (separace GR).
separace GR
Výsledky vylepšené metody klasifikace barev (separace YL).
separace YL

Obrázek 4.8
Výsledky vylepšené metody klasifikace barev.

          Na tomto místě ještě shrnu poznatky důležité pro generování klasifikačních pravidel:

          S ohledem na minimální počet pravidel je vhodné přesně vymezit, které barvy se v mapě vyskytují. Často totiž mapa neobsahuje některé přetisky typu BG|A|B, výjimečně typu BG|A. Další možností je omezit generování přechodových pravidel pro některé barvy. Posledním drobným vylepšením je zvýhodnění některé třídy pravidel (např. pravidel pro samostatné barvy) úpravou vzdálenosti (např. přenásobení konstantou c < 1).


4.5 Chyby klasifikace a jejich odstranění

          Chyby klasifikace jsou v zásadě trojího druhu: chyby způsobené absencí pravidla (z několika blízkých pravidel bylo vybráno pouze jedno), špatná klasifikace v důsledku šumu (uplatnilo se jiné pravidlo) a přetisk několika přechodů (na základě barvy nelze klasifikovat). Nejčastější a nejnepříjemnější jsou chyby v místech přetisku dvou přechodů (obvykle v místech plochy vyplněné rastrem). Nejúčinnější metodou minimalizace chyb je použít kvalitní předlohu, kvalitní scanner a důsledně provést předzpracování. Právě kvůli řešení minimalizace přechodů (a tedy i přetisku přechodů) jsem věnoval velký prostor předzpracování.

          Jedinou možností, jak chyby klasifikace odstranit je přehodnotit výsledky na základě kontextu. Je možné zhotovit relativně jednoduchý filtr, který rozhoduje na základě výsledků klasifikace okolních pixelů. Jinou metodou je provádět opravu ve fázi rozpoznávání na základě již rozpoznaných objektů. Kontextovou filtrací se bude zabývat následující kapitola.

          Existuje jednoduchá metoda, jak usnadnit odhalení a nápravu chyb. Pro tyto účely zavedeme k výsledku ještě jednu bitovou mapu, ve které budou označeny pixely s velkou vzdáleností od nejbližšího pravidla (nejvyšší přípustná vzdálenost bude parametrem klasifikačního algoritmu). V kontextové filtraci potom budeme např. moci rozhodovat pouze na základě "dobře" klasifikovaných pixelů, nebo odstranit "chybně" klasifikované pixely.

          Pro demonstraci chyb klasifikace (obrázek 4.9) jsem použil rozklad na tiskové barvy z obrázku 4.8. V další kapitole na stejném rozkladu ukáži, jak je možné chyby omezit kontextovou filtrací.

Bitová mapa popisující chyby klasifikace.

Obrázek 4.9
Bitová mapa popisující chyby klasifikace.