¿Qué Es el Umbral de Potrace?
Antes de que potrace pueda trazar los bordes de una imagen, debe reducirla a solo dos colores: negro (primer plano) y blanco (fondo). Esto se denomina binarización. El parámetro de umbral (-k) controla dónde cae la línea divisoria en la escala de brillo.
Cada píxel de la imagen de origen tiene un valor de brillo. En una imagen en escala de grises, este va de 0 (negro puro) a 1 (blanco puro), siendo 0,5 el gris medio. El valor de umbral determina el punto de corte:
- Los píxeles con brillo inferior al umbral → se convierten en negro (incluidos en el trazado vectorial)
- Los píxeles con brillo superior al umbral → se convierten en blanco (ignorados)
El umbral predeterminado es 0,5, que divide el rango de brillo exactamente por la mitad. Esto funciona bien para la mayoría de imágenes de alto contraste, pero ajustar el umbral puede mejorar significativamente los resultados según el tipo de imagen de origen.
Nota técnica: Para imágenes en color, potrace las convierte primero a escala de grises usando una fórmula de luminancia (RGB ponderado: 0,2126R + 0,7152G + 0,0722B) antes de aplicar el umbral. Esto significa que la información de color afecta a qué píxeles acaban siendo primer plano.
Comparativa Visual a Distintos Umbrales
Para entender el impacto de la configuración de umbral, considera cómo se ve la misma imagen de origen cuando se traza con distintos valores. Las descripciones a continuación se aplican a una imagen en escala de grises típica con una mezcla de elementos claros y oscuros:
| Umbral | Resultado Visual | Qué Se Captura |
|---|---|---|
| 0,2 | Muy claro — primer plano mínimo | Solo los píxeles más oscuros (negros intensos, sombras profundas). La mayor parte de la imagen aparece como espacio en blanco. Útil para extraer únicamente los elementos con mayor contraste de una imagen con ruido. |
| 0,3 | Aspecto de boceto ligero | Áreas oscuras y tonos medios fuertes. Los grises claros y tonos medios se descartan. Produce un resultado delicado, similar a un boceto, que captura los contornos principales pero no los detalles finos ni los matices de sombra. |
| 0,5 | Equilibrado (predeterminado) | Todo lo más oscuro que el gris medio se convierte en primer plano. Proporciona la representación binaria más natural para la mayoría de imágenes. El punto de partida ideal para logotipos, arte lineal y gráficos en general. |
| 0,7 | Más pesado — más primer plano | La mayor parte de la imagen se convierte en primer plano, con solo las áreas más claras permaneciendo blancas. Adecuado para recuperar detalle en imágenes de colores claros, documentos desvanecidos o bocetos a lápiz que resultan demasiado claros con 0,5. |
| 0,9 | Muy pesado — casi sólido | Casi todo se convierte en primer plano negro. Solo los píxeles casi blancos permanecen como fondo. Útil para extraer marcas muy tenues sobre fondo blanco, pero generalmente produce un resultado demasiado denso que oculta los detalles. |
La clave: los umbrales más bajos producen una salida más clara con menos detalle; los umbrales más altos producen una salida más densa que captura más de la imagen. No existe un umbral "correcto" de forma universal — depende completamente de la distribución de brillo de tu imagen de origen y del resultado que deseas obtener.
Otros Parámetros de Potrace
Aunque el umbral tiene el mayor impacto en la salida, potrace ofrece varios parámetros adicionales que ajustan con precisión el resultado vectorial.
Suavizado de Esquinas (-a alpha)
Controla si las esquinas del contorno trazado se representan como ángulos agudos o se suavizan en curvas. El valor va de 0 a 1,334:
-a 0(esquinas agudas) — Cada esquina del contorno binario se conserva como ángulo agudo en el SVG. Produce una salida angular y precisa. Ideal para formas geométricas, pixel art, códigos QR y diagramas técnicos donde se desean ángulos rectos exactos.-a 1(predeterminado) — Suavizado moderado. Las esquinas próximas a 90° se conservan; los ángulos obtusos se suavizan en curvas. Ofrece un buen equilibrio para la mayoría de casos de uso — el texto permanece legible y las formas orgánicas resultan naturales.-a 1,334(suavizado máximo) — Todas las esquinas se redondean en curvas, incluso las agudas. Produce la salida más suave y fluida. Ideal para escritura a mano, formas orgánicas e interpretaciones artísticas donde los artefactos angulares resultarían antinaturales.
Optimización de Trayectorias (-O)
Controla con qué agresividad potrace simplifica las curvas de Bézier que forman cada trayectoria. Los niveles de optimización más altos producen archivos SVG con menos puntos de control (menor tamaño de archivo) a costa de un trazado potencialmente menos preciso. El nivel predeterminado ofrece un buen equilibrio entre fidelidad y compacidad.
En la práctica, este parámetro raramente necesita ajuste. La optimización predeterminada produce trayectorias compactas y precisas, adecuadas tanto para visualización como para aplicaciones de corte. Aumentar la optimización puede ayudar si tu archivo SVG es inusualmente grande (miles de trayectorias complejas a partir del trazado de una fotografía), pero para logotipos y arte lineal típicos, el valor predeterminado es óptimo.
Eliminación de Ruido (-t turdsize)
Antes de trazar, potrace elimina pequeñas regiones aisladas (denominadas "turds" en la documentación de potrace) de la imagen binaria. El valor de turdsize especifica el área máxima en píxeles de las regiones a descartar:
-t 0— Conservar todo. Sin eliminación de ruido. Incluso los píxeles sueltos aislados se trazarán como pequeñas trayectorias vectoriales.-t 2(predeterminado) — Eliminar regiones aisladas de 1-2 píxeles. Elimina la mayor parte del ruido de escáner y los artefactos de compresión JPG sin afectar al contenido real de la imagen.-t 10— Eliminar manchas pequeñas de hasta 10 píxeles. Adecuado para documentos escaneados con textura de papel visible.-t 50— Eliminación agresiva. Elimina artefactos más grandes, pero también puede suprimir detalles intencionales pequeños como signos de puntuación o elementos decorativos finos.
Consejo sobre turdsize: Si tu salida SVG tiene muchos pequeños fragmentos vectoriales dispersos que no forman parte del diseño real, aumenta el turdsize. Si pequeños detalles intencionales (puntos, trazos finos) están desapareciendo, redúcelo o establécelo en 0.
Mejores Prácticas según el Tipo de Imagen de Origen
Los distintos tipos de imágenes de origen requieren diferentes combinaciones de parámetros de potrace. La tabla a continuación proporciona puntos de partida recomendados para los escenarios más comunes:
| Imagen de Origen | Umbral (-k) |
Esquinas (-a) |
Turdsize (-t) |
Notas |
|---|---|---|---|---|
| Logotipo limpio (B&N) | 0,5 | 1 (suave) | 2 (bajo) | La configuración predeterminada funciona perfectamente para logotipos de alto contraste sobre fondo blanco |
| Boceto a lápiz | 0,35–0,45 | 1,334 (máx. suave) | 0 (ninguno) | Umbral más bajo para evitar capturar la textura del papel como ruido; suavizado máximo para líneas fluidas |
| Sello de tinta | 0,55–0,65 | 1 (suave) | 10–20 (alto) | Umbral ligeramente más alto para capturar el sello completo; turdsize alto para eliminar salpicaduras de tinta |
| Foto de bajo contraste | 0,3–0,4 | 1 (suave) | 10–50 (alto) | Umbral más bajo para preservar la separación; turdsize alto para eliminar el ruido de las áreas grises |
| Arte de alto contraste | 0,5 | 0 (agudo) | 2 (bajo) | Las esquinas agudas preservan la precisión geométrica; umbral predeterminado para contraste B&N claro |
| Documento escaneado | 0,5–0,6 | 0 (agudo) | 5–15 | Esquinas agudas para legibilidad del texto; turdsize moderado para polvo de papel y artefactos del escáner |
| Origen desvanecido / claro | 0,65–0,8 | 1 (suave) | 2–5 | Umbral más alto para capturar contenido de color claro que se perdería con 0,5 |
| Pixel art / código QR | 0,5 | 0 (agudo) | 0 (ninguno) | Esquinas agudas para preservar la geometría píxel a píxel; sin eliminación de ruido para conservar cada píxel intencional |
Consejos de Preprocesamiento
Ajustar los parámetros de potrace ayuda, pero las mejoras más grandes provienen de preparar la imagen de origen antes de la conversión. Estos pasos de preprocesamiento se pueden realizar en cualquier editor de imágenes — incluso en el editor integrado del teléfono.
Aumentar el Contraste
La mejora individual más efectiva. Abre la imagen en cualquier editor y sube el deslizador de contraste. Esto amplía la diferencia entre los píxeles claros y oscuros, haciendo que la detección de bordes sea más limpia y precisa. Para imágenes en B&N, usar un ajuste de "Niveles" o "Curvas" para oscurecer los negros y aclarar los blancos produce mejores resultados que un simple deslizador de contraste.
Eliminar el Ruido de Fondo
Para documentos escaneados y fotos de objetos físicos, el fondo raramente es blanco puro. La textura del papel, la iluminación desigual, las sombras y el polvo introducen píxeles grises que potrace puede interpretar como primer plano. Antes de subir la imagen:
- Usa un ajuste de "Niveles" para llevar el fondo hacia el blanco puro
- Aplica un ligero desenfoque gaussiano (radio de 1-2 píxeles) para suavizar la textura del papel sin afectar a los bordes principales
- Recorta ajustadamente para eliminar sombras y artefactos de borde del escaneado
Usar PNG en Lugar de JPG
La compresión JPEG crea artefactos en bloque visibles alrededor de los bordes nítidos — exactamente las áreas que potrace analiza para el trazado de bordes. Estos artefactos hacen que el trazador siga los límites de la compresión JPEG en lugar de los bordes reales de la imagen, produciendo trayectorias vectoriales irregulares y ruidosas. Si tienes la opción, usa siempre una fuente PNG. Si solo dispones de JPG, utiliza la versión de mayor calidad (menos comprimida).
Usar Mayor Resolución
Potrace ajusta curvas de Bézier a los límites de píxeles. Más píxeles significa más puntos de datos para el algoritmo de ajuste de curvas, lo que produce curvas más suaves y precisas. Una imagen de 2000×2000 píxeles producirá una salida SVG notablemente más suave que una versión de 500×500 del mismo contenido. Cuando sea posible, sube la versión de mayor tamaño de tu imagen.
Convertir a Escala de Grises Primero
Si tu imagen de origen es fundamentalmente en blanco y negro (un logotipo, un texto escaneado o un dibujo lineal), convertirla a escala de grises antes de subirla elimina cualquier ruido de color que pueda afectar al cálculo del umbral. Las imágenes en color se convierten a escala de grises internamente usando una fórmula de luminancia, pero esta conversión puede producir a veces valores de brillo inesperados si la imagen contiene elementos de color con luminancia similar.