Follow us on:

Home

Inkscape tutorial: Wektoryzacja

Jednym z narzędzi Inkscape'a jest narzędzie służące do wektoryzowania obrazów bitmapowych. Zamienia ono bitmapę w <ścieżkę>, którą można następnie obrabiać jak każdy element SVG. Ten krótki poradnik pomoże ci zapoznać się z działaniem tego narzędzia.

Obecnie Inkscape wykorzystuje do wektoryzowania map bitowych silnik Potrace (potrace.sourceforge.net) autorstwa Petera Selingera. Niewykluczone, że w przyszłości w Inkscape'ie pojawią się inne programy służące do wektoryzacji grafik rastrowych. Aktualnie Potrace jest w zupełności wystarczającym narzędziem.

Proszę pamiętać, że celem narzędzia wektoryzującego nie jest dokładne odwzorowanie oryginalnego obrazka ani wytworzenie finalnego produktu – żadne narzędzie do wektoryzowania nie potrafi tego zrobić. W wyniku wektoryzacji powstanie zestaw krzywych, które będą stanowić materiał bazowy do dalszej pracy.

Potrace interpretuje czarno–białe bitmapy i tworzy zestaw krzywych. Aktualnie program posiada trzy typy filtrów wejściowych przekształcających obrazek do formatu akceptowanego przez Potrace.

Im więcej czarnych pikseli zawiera obrazek przejściowy, tym więcej operacji wektoryzowania zostanie wykonanych. W przypadku większej liczby przebiegów wektoryzacji zwiększa się użycie procesora, a także rozrasta <ścieżka>. Zaleca się wykonanie najpierw kilku eksperymentów z jaśniejszymi obrazkami, a następnie stopniowo z coraz ciemniejszymi aż do uzyskania pożądanej proporcji i złożoności ścieżki końcowej.

Aby dokonać wektoryzacji, należy otworzyć lub zaimportować obrazek, zaznaczyć go i z menu „Ścieżka” wybrać polecenie „Wektoryzuj bitmapę…” bądź użyć skrótu klawiaturowego [ Shift+Alt+B ].

An example image

W nowo otwartym oknie dialogowym na karcie „Tryb” ukażą się trzy dostępne opcje filtrowania:

Ten sposób filtrowania używa sumy koloru czerwonego, zielonego i niebieskiego, lub odcieni szarości piksela jako wskaźnika, które kolory należy traktować jako czarne lub białe. Próg może być ustawiony od 0,0 (czarny) do 1,0 (biały). Im wyższa wartość progu, tym mniejsza liczba pikseli będzie uznawana za „białe” i obrazek przejściowy będzie ciemniejszy.

An example image

Ten sposób filtrowania używa algorytmu wykrywania krawędzi opracowanego przez J. Canny'iego. Służy on do szybkiego wyszukiwania izoklin – linii o podobnym kontraście. Za pomocą tego filtra zostanie utworzony obrazek przejściowy, który będzie wyglądał podobnie jak obrazek oryginalny po wykonaniu rozdzielenia jasności, ale będzie zawierał informacje o krzywych. Ustawiony tutaj próg jasności (0,0 – 1,0) będzie decydował czy piksel sąsiadujący z krawędzią kontrastu zostanie włączony do obrazka wyjściowego. To ustawienie może określić stopień zaciemnienia lub grubość krawędzi w obrazku wyjściowym.

An example image

W wyniku zastosowania tego filtra zostanie utworzony obrazek przejściowy znacznie różniący się od poprzednich, jednak również bardzo użyteczny. Filtr ten znajduje krawędzie w miejscach, w których zmieniają się kolory, nawet jeśli jasność i kontrast mają taką samą wartość. Ustawiona tutaj liczba kolorów decyduje, ile będzie kolorów wyjściowych, jeśli obrazek przejściowy jest kolorowy. Decyduje również o tym, który piksel będzie czarny/biały i czy kolor będzie miał indeks parzysty czy nieparzysty.

An example image

Należy wypróbować wszystkie trzy filtry i obserwować wyniki ich działania dla różnych typów obrazków wyjściowych. Zawsze znajdzie się obrazek, na którym jeden z filtrów zadziała lepiej niż pozostałe.

Po wykonaniu wektoryzacji, w celu zmniejszenia liczby węzłów w otrzymanej ścieżce, zaleca się uruchomienie z poziomu menu „Ścieżka” polecenia „Uprość” [ Ctrl+L ]. Dzięki temu łatwiej będzie edytować powstałą ścieżkę. Oto typowa operacja wektoryzowania na przykładowym obrazku:

An example image

Proszę zauważyć, że otrzymana ścieżka posiada olbrzymią liczbę węzłów. Po wykonaniu redukcji węzłów otrzymujemy następujący wynik:

An example image

Liczba węzłów w obrazku została zredukowana. Grafika jest bardziej prymitywna, ale teraz łatwiej poddaje się zmianom. W wyniku wektoryzacji nie otrzymuje się dokładnego odwzorowania obrazka, ale zestaw krzywych, który stanowi podstawę do dalszej obróbki.