Wat is de Potrace-drempelwaarde?
Voordat potrace de randen van een afbeelding kan traceren, moet de afbeelding worden teruggebracht tot precies twee kleuren: zwart (voorgrond) en wit (achtergrond). Dit heet binarisatie. De drempelwaarde-parameter (-k) bepaalt waar de scheidingslijn valt op de helderheidsschaal.
Elke pixel in de bronafbeelding heeft een helderheidswaarde. In een grijswaardenafbeelding loopt dit van 0 (zuiver zwart) tot 1 (zuiver wit), waarbij 0,5 middelgrijs is. De drempelwaarde bepaalt de grens:
- Pixels met een helderheid onder de drempelwaarde → worden zwart (opgenomen in het vectorspoor)
- Pixels met een helderheid boven de drempelwaarde → worden wit (genegeerd)
De standaard drempelwaarde is 0,5, wat de helderheidsschaal precies in tweeën deelt. Dit werkt goed voor de meeste afbeeldingen met hoog contrast, maar het aanpassen van de drempelwaarde kan de resultaten voor specifieke brontypen aanzienlijk verbeteren.
Technische opmerking: Voor kleurafbeeldingen converteert potrace eerst naar grijswaarden via een luminantieformule (gewogen RGB: 0,2126R + 0,7152G + 0,0722B) voordat de drempelwaarde wordt toegepast. Dit betekent dat kleurinformatie invloed heeft op welke pixels als voorgrond eindigen.
Visuele vergelijking bij verschillende drempelwaarden
Om het effect van drempelwaarde-instellingen te begrijpen, bekijk je hoe dezelfde bronafbeelding eruitziet bij tracering op verschillende waarden. De onderstaande beschrijvingen gelden voor een typische grijswaardenafbeelding met een mix van lichte en donkere elementen:
| Drempelwaarde | Visueel resultaat | Wat wordt vastgelegd |
|---|---|---|
| 0,2 | Zeer licht — minimale voorgrond | Alleen de absolute donkerste pixels (diepe zwarten, zware schaduwen). Het grootste deel van de afbeelding verschijnt als leeg wit vlak. Nuttig om alleen de meest markante, contrastrijke elementen uit een rommelige afbeelding te extraheren. |
| 0,3 | Licht schetsgefoel | Donkere zones en sterke middentonen. Lichte grijstinten en middentonen worden weggelaten. Levert een delicaat, schetsachtig resultaat dat de primaire contouren weergeeft, maar geen fijne details of subtiele arcering. |
| 0,5 | Gebalanceerd (standaard) | Alles donkerder dan middelgrijs wordt voorgrond. Geeft de meest natuurlijke binaire weergave voor de meeste afbeeldingen. Het standaard startpunt voor logo's, lijntekeningen en algemene graphics. |
| 0,7 | Zwaarder — meer voorgrond | Het grootste deel van de afbeelding wordt voorgrond; alleen de lichtste gebieden blijven wit. Geschikt voor het terughalen van details uit lichtgekleurde bronafbeeldingen, vervaagde documenten of potloodschetsen die te licht waren bij 0,5. |
| 0,9 | Zeer zwaar — bijna volledig gevuld | Vrijwel alles wordt zwarte voorgrond. Alleen bijna-witte pixels blijven achtergrond. Nuttig voor het extraheren van zeer vage tekens op een witte achtergrond, maar levert gewoonlijk een te zwaar, detail-verbergend resultaat op. |
De kerngedachte: lagere drempelwaarden leveren lichtere uitvoer met minder detail; hogere drempelwaarden leveren zwaardere uitvoer die meer van de afbeelding vastlegt. Er bestaat geen universeel "juiste" drempelwaarde — die hangt volledig af van de helderheidsverdeling van je bronafbeelding en het gewenste resultaat.
Andere Potrace-parameters
Hoewel de drempelwaarde de grootste invloed heeft op de uitvoer, biedt potrace ook een aantal aanvullende parameters waarmee je het vectorresultaat verder kunt verfijnen.
Hoekafvlakking (-a alpha)
Bepaalt of hoeken in de getraceerde contour worden weergegeven als scherpe hoeken of worden afgevlakt tot rondingen. De waarde loopt van 0 tot 1,334:
-a 0(scherpe hoeken) — Elke hoek in de binaire contour wordt bewaard als scherpe hoek in de SVG. Dit levert hoekige, nauwkeurige uitvoer op. Het beste voor geometrische vormen, pixelart, QR-codes en technische diagrammen waarbij je exacte rechte hoeken wilt.-a 1(standaard) — Matige afvlakking. Hoeken dicht bij 90° worden bewaard; stompe hoeken worden afgevlakt tot rondingen. Dit biedt een goede balans voor de meeste toepassingen — tekst blijft leesbaar, organische vormen voelen natuurlijk aan.-a 1,334(maximale afvlakking) — Alle hoeken worden omgezet in rondingen, ook scherpe. Levert de vloeiendste, meest vloeiende uitvoer. Ideaal voor handschrift, organische vormen en artistieke interpretaties waarbij hoekige artefacten er onnatuurlijk uit zouden zien.
Padoptimalisatie (-O)
Bepaalt hoe agressief potrace de Bézier-curves vereenvoudigt die elk pad vormen. Hogere optimalisatieniveaus produceren SVG-bestanden met minder controlepunten (kleinere bestandsgrootte), maar mogelijk een iets minder nauwkeurige tracering. Het standaardniveau biedt een goede balans tussen getrouwheid en compactheid.
In de praktijk hoeft deze parameter zelden te worden aangepast. De standaardoptimalisatie levert compacte, nauwkeurige paden op die geschikt zijn voor zowel weergave als snijmachine-toepassingen. Hogere optimalisatie kan helpen als je SVG-bestand ongebruikelijk groot is (duizenden complexe paden van een gefotografeerde afbeelding), maar voor typische logo's en lijntekeningen is de standaardwaarde optimaal.
Ruisverwijdering (-t turdsize)
Vóór het traceren verwijdert potrace kleine geïsoleerde gebieden (in de potrace-documentatie "turds" genoemd) uit de binaire afbeelding. De turdsize-waarde geeft de maximale oppervlakte in pixels aan van gebieden die worden weggegooid:
-t 0— Alles bewaren. Geen ruisverwijdering. Zelfs enkele zwevende pixels worden getraceerd tot kleine vectorpaden.-t 2(standaard) — Geïsoleerde gebieden van 1-2 pixels verwijderen. Elimineert de meeste scannerruis en JPG-compressie-artefacten zonder de werkelijke beeldinhoud te beïnvloeden.-t 10— Kleine vlekjes tot 10 pixels verwijderen. Goed voor gescande documenten met zichtbare papiertextuur.-t 50— Agressieve verwijdering. Elimineert grotere artefacten, maar kan ook kleine opzettelijke details zoals leestekens of fijne decoratieve elementen verwijderen.
Turdsize-tip: Als je SVG-uitvoer veel kleine verspreide vectorfragmenten bevat die geen deel uitmaken van het eigenlijke ontwerp, vergroot dan de turdsize. Als kleine opzettelijke details (puntjes, dunne streken) verdwijnen, verklein je de turdsize of stel je die in op 0.
Aanbevolen werkwijzen per type bronafbeelding
Verschillende typen bronafbeeldingen vereisen verschillende combinaties van potrace-instellingen. De onderstaande tabel geeft aanbevolen startpunten voor de meest voorkomende scenario's:
| Bronafbeelding | Drempelwaarde (-k) |
Hoeken (-a) |
Turdsize (-t) |
Opmerkingen |
|---|---|---|---|---|
| Schoon logo (Z&W) | 0,5 | 1 (vloeiend) | 2 (laag) | Standaardinstellingen werken perfect voor contrastrijke logo's op witte achtergrond |
| Potloodschets | 0,35–0,45 | 1,334 (max. vloeiend) | 0 (geen) | Lagere drempelwaarde om te voorkomen dat papiertextuur als ruis wordt vastgelegd; maximale afvlakking voor vloeiende lijnen |
| Inktstempel / zegel | 0,55–0,65 | 1 (vloeiend) | 10–20 (hoog) | Iets hogere drempelwaarde om de volledige stempel vast te leggen; hoge turdsize om inktspatten te verwijderen |
| Foto met laag contrast | 0,3–0,4 | 1 (vloeiend) | 10–50 (hoog) | Lagere drempelwaarde behoudt scheiding; hoge turdsize verwijdert ruis uit grijze zones |
| Kunst met hoog contrast | 0,5 | 0 (scherp) | 2 (laag) | Scherpe hoeken bewaren geometrische precisie; standaard drempelwaarde voor helder Z&W-contrast |
| Gescand document | 0,5–0,6 | 0 (scherp) | 5–15 | Scherpe hoeken voor leesbaarheid van tekst; matige turdsize voor papierstof en scannerartefacten |
| Vervaagde / lichte bron | 0,65–0,8 | 1 (vloeiend) | 2–5 | Hogere drempelwaarde legt lichtgekleurde inhoud vast die bij 0,5 verloren zou gaan |
| Pixelart / QR-code | 0,5 | 0 (scherp) | 0 (geen) | Scherpe hoeken bewaren pixel-perfecte geometrie; geen ruisverwijdering om elke opzettelijke pixel te behouden |
Tips voor voorbewerking
Het aanpassen van potrace-parameters helpt, maar de grootste verbeteringen komen van het voorbereiden van de bronafbeelding vóór de conversie. Deze voorbewerking kan in elke afbeeldingseditor worden gedaan — zelfs de ingebouwde editor van je telefoon.
Contrast verhogen
De meest effectieve enkelvoudige verbetering. Open de afbeelding in een editor en verhoog de contrastschuifregelaar. Dit vergroot het verschil tussen lichte en donkere pixels, waardoor randdetectie schoner en nauwkeuriger wordt. Voor Z&W-afbeeldingen levert een aanpassing via "Niveaus" of "Curves" om zwarten donkerder en witten lichter te maken zelfs betere resultaten dan een eenvoudige contrastschuifregelaar.
Achtergrondgeluiden verwijderen
Bij gescande documenten en foto's van fysieke objecten is de achtergrond zelden zuiver wit. Papiertextuur, ongelijkmatige belichting, schaduwen en stof introduceren allemaal grijze pixels die potrace mogelijk als voorgrond interpreteert. Vóór het uploaden:
- Gebruik een "Niveaus"-aanpassing om de achtergrond naar zuiver wit te duwen
- Pas een lichte Gaussiaanse vervaging toe (straal van 1-2 pixels) om papiertextuur te verzachten zonder de belangrijkste randen te beïnvloeden
- Snij strak bij om schaduwen en randartefacten van het scannen te verwijderen
Gebruik PNG in plaats van JPG
JPEG-compressie maakt zichtbare blokkerige artefacten rondom scherpe randen — precies de gebieden die potrace analyseert voor randtracering. Deze artefacten zorgen ervoor dat de tracer de JPEG-compressiegrensen volgt in plaats van de werkelijke beeldranden, wat leidt tot gekartelde, rommelige vectorpaden. Gebruik altijd een PNG-bron als dat mogelijk is. Als alleen JPG beschikbaar is, gebruik dan de hoogste kwaliteit (minst gecomprimeerde) versie.
Hogere resolutie gebruiken
Potrace past Bézier-curves aan pixelgrenzen. Meer pixels betekent meer datapunten voor het curve-aanpassingsalgoritme, wat leidt tot vloeiendere, nauwkeurigere curves. Een afbeelding van 2000×2000 pixels levert merkbaar vloeiendere SVG-uitvoer op dan een versie van 500×500 van dezelfde inhoud. Upload waar mogelijk de grootste beschikbare versie van je afbeelding.
Eerst naar grijswaarden converteren
Als je bronafbeelding in wezen zwart-wit is (een logo, tekstscan of lijntekening), verwijdert het converteren naar grijswaarden vóór het uploaden eventuele kleurgeluiden die de drempelwaarberekening kunnen beïnvloeden. Kleurafbeeldingen worden intern naar grijswaarden geconverteerd via een luminantieformule, maar deze conversie kan soms onverwachte helderheidswaarden opleveren als de afbeelding gekleurde elementen met vergelijkbare luminantie heeft.