Cos'è la Soglia di Potrace?
Prima che potrace possa tracciare i contorni di un'immagine, deve ridurla a soli due colori: nero (primo piano) e bianco (sfondo). Questa operazione si chiama binarizzazione. Il parametro soglia (-k) controlla dove cade la linea di separazione sulla scala della luminosità.
Ogni pixel dell'immagine sorgente ha un valore di luminosità. In un'immagine in scala di grigi, questo varia da 0 (nero puro) a 1 (bianco puro), con 0,5 che corrisponde al grigio medio. Il valore della soglia determina il punto di taglio:
- I pixel con luminosità al di sotto della soglia → diventano neri (inclusi nel tracciato vettoriale)
- I pixel con luminosità al di sopra della soglia → diventano bianchi (ignorati)
La soglia predefinita è 0,5, che divide la scala di luminosità esattamente a metà. Funziona bene per la maggior parte delle immagini ad alto contrasto, ma regolare la soglia può migliorare notevolmente i risultati per determinati tipi di sorgente.
Nota tecnica: Per le immagini a colori, potrace le converte prima in scala di grigi usando una formula di luminanza (RGB pesato: 0,2126R + 0,7152G + 0,0722B) prima di applicare la soglia. Ciò significa che le informazioni cromatiche influenzano quali pixel diventano primo piano.
Confronto Visivo a Diverse Soglie
Per capire l'impatto delle impostazioni di soglia, considera come appare la stessa immagine sorgente quando tracciata a valori diversi. Le descrizioni seguenti si riferiscono a una tipica immagine in scala di grigi con elementi chiari e scuri:
| Soglia | Risultato Visivo | Cosa Viene Catturato |
|---|---|---|
| 0,2 | Molto chiaro — primo piano minimo | Solo i pixel assolutamente più scuri (neri profondi, ombre pesanti). La maggior parte dell'immagine appare come spazio bianco vuoto. Utile per estrarre solo gli elementi più marcati e ad alto contrasto da un'immagine con molto rumore. |
| 0,3 | Effetto schizzo leggero | Aree scure e toni medi forti. I grigi chiari e i toni medi vengono scartati. Produce un risultato delicato, simile a uno schizzo, che cattura i contorni principali ma non i dettagli fini o le sfumature sottili. |
| 0,5 | Bilanciato (predefinito) | Tutto ciò che è più scuro del grigio medio diventa primo piano. Fornisce la rappresentazione binaria più naturale per la maggior parte delle immagini. Il punto di partenza ideale per loghi, disegni al tratto e grafica generale. |
| 0,7 | Più pesante — più primo piano | La maggior parte dell'immagine diventa primo piano, con solo le aree più chiare che rimangono bianche. Adatto per recuperare dettagli da immagini sorgente di colore chiaro, documenti sbiaditi o schizzi a matita troppo leggeri con soglia 0,5. |
| 0,9 | Molto pesante — quasi solido | Quasi tutto diventa primo piano nero. Solo i pixel quasi bianchi rimangono come sfondo. Utile per estrarre segni molto tenui da uno sfondo bianco, ma di solito produce un risultato eccessivamente pesante che oscura i dettagli. |
Il concetto chiave: soglie più basse producono output più leggero con meno dettagli; soglie più alte producono output più pesante che cattura più dell'immagine. Non esiste una soglia universalmente "corretta" — dipende interamente dalla distribuzione della luminosità dell'immagine sorgente e dal risultato che desideri.
Altri Parametri di Potrace
Sebbene la soglia abbia il maggiore impatto sull'output, potrace offre diversi parametri aggiuntivi per affinare il risultato vettoriale.
Smussamento degli Angoli (-a alpha)
Controlla se gli angoli del contorno tracciato vengono resi come spigoli vivi o smussati in curve. Il valore varia da 0 a 1,334:
-a 0(angoli vivi) — Ogni angolo nel contorno binario viene mantenuto come spigolo vivo nell'SVG. Produce un output angolare e preciso. Ideale per forme geometriche, pixel art, codici QR e diagrammi tecnici dove si vogliono angoli retti esatti.-a 1(predefinito) — Smussamento moderato. Gli angoli vicini a 90° vengono conservati; gli angoli ottusi vengono smussati in curve. Offre un buon equilibrio per la maggior parte dei casi d'uso — il testo rimane leggibile, le forme organiche risultano naturali.-a 1,334(smussamento massimo) — Tutti gli angoli vengono arrotondati in curve, anche quelli appuntiti. Produce l'output più fluido e morbido. Ideale per scrittura a mano, forme organiche e interpretazioni artistiche dove gli artefatti angolari sembrerebbero innaturali.
Ottimizzazione dei Percorsi (-O)
Controlla quanto aggressivamente potrace semplifica le curve di Bézier che formano ogni percorso. Livelli di ottimizzazione più alti producono file SVG con meno punti di controllo (file di dimensioni ridotte) a scapito di una traccia potenzialmente meno precisa. Il livello predefinito offre un buon equilibrio tra fedeltà e compattezza.
In pratica, questo parametro raramente richiede regolazione. L'ottimizzazione predefinita produce percorsi compatti e precisi adatti sia per la visualizzazione che per applicazioni con macchine da taglio. Aumentare l'ottimizzazione può essere utile se il tuo file SVG è insolitamente grande (migliaia di percorsi complessi da una fotografia tracciata), ma per loghi tipici e disegni al tratto il valore predefinito è ottimale.
Rimozione del Rumore (-t turdsize)
Prima del tracciamento, potrace rimuove le piccole regioni isolate (chiamate "turds" nella documentazione di potrace) dall'immagine binaria. Il valore turdsize specifica l'area massima in pixel delle regioni da scartare:
-t 0— Mantieni tutto. Nessuna rimozione del rumore. Anche i singoli pixel isolati verranno tracciati in minuscoli percorsi vettoriali.-t 2(predefinito) — Rimuove le regioni isolate di 1-2 pixel. Elimina la maggior parte del rumore dello scanner e degli artefatti di compressione JPG senza influenzare il contenuto reale dell'immagine.-t 10— Rimuove piccole macchie fino a 10 pixel. Adatto per documenti scansionati con texture della carta visibile.-t 50— Rimozione aggressiva. Elimina gli artefatti più grandi ma può anche rimuovere piccoli dettagli intenzionali come segni di punteggiatura o elementi decorativi fini.
Suggerimento turdsize: Se il tuo output SVG contiene molti piccoli frammenti vettoriali sparsi che non fanno parte del design effettivo, aumenta il turdsize. Se i piccoli dettagli intenzionali (punti, tratti sottili) stanno scomparendo, riducilo o impostalo a 0.
Buone Pratiche per Tipo di Immagine Sorgente
Diversi tipi di immagini sorgente richiedono diverse combinazioni di impostazioni di potrace. La tabella seguente fornisce punti di partenza consigliati per gli scenari più comuni:
| Immagine Sorgente | Soglia (-k) |
Angoli (-a) |
Turdsize (-t) |
Note |
|---|---|---|---|---|
| Logo pulito (B&N) | 0,5 | 1 (smussato) | 2 (basso) | Le impostazioni predefinite funzionano perfettamente per loghi ad alto contrasto su sfondi bianchi |
| Schizzo a matita | 0,35–0,45 | 1,334 (max smussato) | 0 (nessuno) | Soglia più bassa per evitare di catturare la texture della carta come rumore; smussamento massimo per linee fluide |
| Timbro / sigillo | 0,55–0,65 | 1 (smussato) | 10–20 (alto) | Soglia leggermente più alta per catturare il timbro completo; turdsize alto rimuove gli schizzi di inchiostro |
| Foto a basso contrasto | 0,3–0,4 | 1 (smussato) | 10–50 (alto) | Soglia più bassa per preservare la separazione; turdsize alto rimuove il rumore dalle aree grigie |
| Arte ad alto contrasto | 0,5 | 0 (vivo) | 2 (basso) | Angoli vivi per preservare la precisione geometrica; soglia predefinita per contrasto B&N netto |
| Documento scansionato | 0,5–0,6 | 0 (vivo) | 5–15 | Angoli vivi per leggibilità del testo; turdsize moderato per polvere della carta e artefatti dello scanner |
| Sorgente sbiadita / chiara | 0,65–0,8 | 1 (smussato) | 2–5 | Soglia più alta per catturare il contenuto di colore chiaro che andrebbe perso con 0,5 |
| Pixel art / Codice QR | 0,5 | 0 (vivo) | 0 (nessuno) | Angoli vivi per preservare la geometria pixel-perfetta; nessuna rimozione del rumore per mantenere ogni pixel intenzionale |
Consigli per la Pre-elaborazione
Regolare i parametri di potrace aiuta, ma i miglioramenti maggiori derivano dalla preparazione dell'immagine sorgente prima della conversione. Questi passaggi di pre-elaborazione possono essere eseguiti in qualsiasi editor di immagini — anche nell'editor integrato del telefono.
Aumenta il Contrasto
Il singolo miglioramento più efficace. Apri l'immagine in qualsiasi editor e sposta il cursore del contrasto verso l'alto. Questo allarga il divario tra pixel chiari e scuri, rendendo il rilevamento dei bordi più pulito e preciso. Per le immagini in B&N, usare una regolazione "Livelli" o "Curve" per rendere i neri più scuri e i bianchi più chiari produce risultati ancora migliori rispetto a un semplice cursore del contrasto.
Rimuovi il Rumore dello Sfondo
Per i documenti scansionati e le foto di oggetti fisici, lo sfondo è raramente bianco puro. La texture della carta, l'illuminazione non uniforme, le ombre e la polvere introducono tutti pixel grigi che potrace potrebbe interpretare come primo piano. Prima di caricare:
- Usa una regolazione "Livelli" per spingere lo sfondo verso il bianco puro
- Applica una leggera sfocatura gaussiana (raggio 1-2 pixel) per levigare la texture della carta senza influenzare i bordi principali
- Ritaglia strettamente per rimuovere ombre e artefatti dei bordi dalla scansione
Usa PNG invece di JPG
La compressione JPEG crea artefatti a blocchi visibili attorno ai bordi netti — esattamente le aree che potrace analizza per il tracciamento dei bordi. Questi artefatti fanno sì che il tracciatore segua i confini della compressione JPEG invece dei bordi reali dell'immagine, producendo percorsi vettoriali frastagliati e rumorosi. Se hai la possibilità di scegliere, usa sempre una sorgente PNG. Se è disponibile solo il JPG, usa la versione di qualità più alta (meno compressa).
Usa una Risoluzione Più Alta
Potrace adatta le curve di Bézier ai confini dei pixel. Più pixel significa più punti dati per l'algoritmo di adattamento delle curve, producendo curve più fluide e precise. Un'immagine 2000×2000 pixel produrrà un output SVG notevolmente più fluido rispetto a una versione 500×500 dello stesso contenuto. Quando possibile, carica la versione più grande disponibile della tua immagine.
Converti Prima in Scala di Grigi
Se la tua immagine sorgente è fondamentalmente in bianco e nero (un logo, una scansione di testo o un disegno al tratto), convertirla in scala di grigi prima di caricarla rimuove qualsiasi rumore cromatico che potrebbe influenzare il calcolo della soglia. Le immagini a colori vengono convertite in scala di grigi internamente usando una formula di luminanza, ma questa conversione può a volte produrre valori di luminosità inaspettati se l'immagine ha elementi colorati con luminanza simile.