Jednou z funkcií v programe Inkscape je nástroj na vektorizáciu rastrového obrázka na prvok <path> (cesta) v SVG kresbe. Tento krátky návod vám pomôže pochopiť, ako tento nástroj pracuje.

V súčasnosti nástroj používa na vektorizáciu algoritmus Potrace (potrace.sourceforge.net) od Petra Selingera. V budúcnosti plánujeme pridanie aj ďalších vektorizačných programov, ale na začiatok je tento nástroj viac ako postačujúci.

Majte na pamäti, že úlohou Vektorizátora nie je reprodukovať originálny obrázok, ani to, aby vytvoril finálny produkt. Žiadny automatický vektorizačný program to nedokáže. To, čo vedia takéto programy poskytnúť, je sada kriviek, ktoré môžete použiť ako základ pri kreslení.

Algoritmus Potrace interpretuje čiernobielu bitmapu a vyprodukuje sadu kriviek. Pred použitím algoritmu je potrebné použiť jeden z troch dostupných filtrov, ktoré prevedú pôvodný obrázok na niečo, čo Potrace dokáže spracovať.

Vo všeobecnosti platí, že čím viac tmavých pixlov je v pomocnom obrázku, tým dlhšie bude Portrace vykonávať vektorizáciu. Dlhšia vektorizácia znamená aj väčšiu záťaž procesora a prvok <path> bude tiež oveľa dlhší. Odporúča sa, aby používateľ na začiatku experimentálne nastavil svetlejší pomocný obrázok a potom ho postupne stmavoval, až kým nezíska požadované proporcie a úplnú výstupnú cestu.

Ak chcete použiť vektorizáciu, nahrajte alebo importujte obrázok, označte ho a potom vyberte z ponuky položku Cesta > Vektorizovať bitmapu alebo stlačte Shift+Alt+B.

An example image

Uvidíte tri filtre, ktoré si môžete vybrať:

Tento filter používa iba súčet odtieňov červenej, zelenej a modrej (alebo odtieňov šedej) pixla na to, aby určil, či pixel bude priradený k čiernej alebo bielej farbe. Prah môže byť nastavený od 0,0 (čierna) po 1,0 (biela). Vyššia hodnota prahu zníži počet pixlov priradených k „bielej“ farbe a spôsobí to, že pomocný obrázok bude tmavší.

An example image

Tento filter používa algoritmus na detekciu hrán od J. Cannyho, ktorý dokáže rýchlo nájsť rozhranie medzi plochami s podobným kontrastom. Vytvára pomocný obrázok, ktorý je veľmi podobný tomu, ktorý vyprodukuje filter Orezanie hrán, ale poskytuje viac informácií o krivkách, ktoré by boli inak ignorované. Nastavenie prahu pri tomto filtri (0,0 – 1,0) upravuje rozhranie jasu, ktoré určuje, či pixel susediaci s hranicou kontrastov bude zahrnutý do výstupu. Toto nastavenie môže upravovať hrúbku a sýtosť výslednej čiary.

An example image

Tento filter ako výsledok vytvorí pomocný obrázok, ktorý sa podstatne líši od predchádzajúcich dvoch, ale je aj tak veľmi potrebný. Miesto toho, aby vytváral oddeľujúce čiary medzi plochami s rozdielnym jasom alebo kontrastom, nájde okraje farebných plôch, a to aj takých dvoch farieb, ktoré majú zhodný jas a kontrast. Nastavenie Počet farieb určuje, koľko výstupných farieb bude vytvorených v prípade, že bitmapa je farebná. To, či bude farba priradená k bielej alebo čiernej, sa rozhodne podľa toho, či index farby je párny alebo nepárny.

An example image

Môžete vyskúšať všetky tri filtre a preskúmať rozdielnosť typov výstupov s rôznymi typmi vstupných obrázkov. Pri každom obrázku zistíte, že jeden z filtrov sa hodí viac ako tie ostatné.

Po vektorizácii sa odporúča, aby používateľ skúsil zredukovať počet uzlov v ceste pomocou položky Cesta > Zjednodušiť alebo stlačením (Ctrl+L). To môže významne zjednodušiť upravovanie výstupu algoritmu Potrace. Tu je typický príklad vektorizácie obrazu Starec hrajúci na gitare:

An example image

Všimnite si nadmerný počet uzlov v ceste. Po stlačení Ctrl+L sa počet zvyčajne zníži:

An example image

Reprezentácia je trochu skreslená a drsná, ale kresba sa bude oveľa ľahšie upravovať. Nezabudnite, že to, čo sme chceli dosiahnuť, nie je presné vykreslenie obrázka, ale sada kriviek, ktoré môžeme použiť pri kreslení.