Tutorial | Tracing bitmaps
Een van de functies in Inkscape is een gereedschap voor het overtrekken van bitmapafbeeldingen in een <path> element voor je SVG-afbeelding. Deze korte nota's helpen je mee op weg.
Op dit moment gebruikt Inkscape de Potrace engine van Peter Selinger voor het overtrekken van bitmaps (potrace.sourceforge.net). In de toekomst gaan we mogelijk alternatieve overtrekprogramma's ondersteunen. Echter, nu is deze goede tool meer dan voldoende voor onze noden.
Hou in het achterhoofd dat het doel van overtrekken noch het reproduceren is van een exacte kopie van het origineel, noch bedoeld is voor het maken van een finale afbeelding. Geen enkel overtrekprogramma kan dat. Het geeft je echter een set curves die je als bron voor je afbeelding kan gebruiken.
Potrace interpreteert een zwart-witafbeelding en maakt hiervan een set curves. We hebben nu drie types invoerfilters voor Potrace om de ruwe afbeelding te converteren in iets dat Potrace kan gebruiken.
Algemeen geldt dat hoe meer donkere pixels in de intermediaire bitmap, hoe meer Potrace zal overtrekken. Omdat de hoeveelheid overtrek vergroot, is meer CPU-tijd nodig en zal het <path>-element veel groter worden. Het is een goed idee dat je als gebruiker eerst experimenteert met lichtere afbeeldingen en dan langzaam overgaat naar donkere afbeeldingen om de gewenste proportie en complexiteit van het uitvoerpad te verkrijgen.
To use the tracer, load or import an image, select it, and select the Path⇒Trace Bitmap item, or Shift+Alt+B.
Algemene opties in het dialoogvenster Bitmap overtrekken
De gebruiker zal de volgende drie beschikbare filteropties zien:
Brightness Cutoff
Deze optie gebruikt in essentie de som van de rood-, groen- en blauwwaarde (of grijstint) van een pixel als een zwart-witindicator. De grenswaarde kan ingesteld worden van 0.0 (zwart) tot 1.0 (wit). Hoe hoger de grenswaarde, hoe kleiner het aantal pixels dat als “wit” wordt gezien en bijgevolg hoe donkerder de intermediaire afbeelding.
Originele afbeelding
Helderheid grenswaardeVulling, geen lijn
Helderheid grenswaardeLijn, geen vulling
Edge Detection
Deze optie gebruikt het randdetectiealgoritme van J. Canny als een snelle methode voor het vinden van lijnen met dezelfde kleurgradiënt of contrast. Dit zal een intermediaire afbeelding produceren die minder lijkt op de originele tekening dan met de optie Helderheid, maar zal wellicht curve-informatie bevatten die anders genegeerd wordt. De grenswaarde (0.0 - 1.0) past hier de grenswaarde voor de helderheid aan die bepaalt of een pixel langs de contrastrand in de uitvoer terug te vinden is. Deze instelling kan de donkerheid of randdikte in de uitvoer aanpassen.
Originele afbeelding
Rand gedetecteerdVulling, geen lijn
Rand gedetecteerdLijn, geen vulling
Kleurquantisatie
Het resultaat van deze filter produceert een intermediaire afbeelding die zeer verschillend is van de twee andere, maar niettemin erg bruikbaar is. In tegenstelling met het tonen van lijnen met gelijke helderheid of contrast, zal deze filter randen vinden waar kleuren veranderen, zelfs bij gelijke helderheid en contrast. De instelling, aantal kleuren, bepaalt hoeveel kleuren er in de intermediaire afbeelding zouden zijn, indien deze intermediaire bitmap in kleur was. Het kent dan zwart en wit toe afhankelijk van het feit of de kleur een even of oneven index heeft.
Originele afbeelding
Quantisatie (12 kleuren)Vulling, geen lijn
Quantisatie (12 kleuren)Lijn, geen vulling
De gebruiker zou de drie filters moeten proberen en de verschillende types uitvoer voor verschillende types afbeeldingen observeren. Er is altijd een afbeelding waar de ene filter beter werkt dan de andere.
After tracing, it is also suggested that the user try Path⇒Simplify (Ctrl+L) on the output path to reduce the number of nodes. This can make the output of Potrace much easier to edit. For example, here is a typical tracing of the Old Man Playing Guitar:
Originele afbeelding
Overtrokken afbeelding / uitvoer(1551 knooppunten)
Note the enormous number of nodes in the path. After hitting Ctrl+L, this is a typical result:
Originele afbeelding
Overtrokken afbeelding / uitvoer - vereenvoudigd(384 knooppunten)
De voorstelling is een iets benaderender en ruwer, maar de afbeelding is veel eenvoudiger en bewerkbaarder. Hou in het achterhoofd dat wat je wil niet een exacte rendering is van de afbeelding, maar een set curves die je kan gebruiken in je afbeelding.
Bulia Byak; Jonathan Leighton; Colin Marquardt; Nicolas Dufour; Gellért Gyuris
Kris De Gussem — 2010
Esteban Capella — 2019