¿Cómo deshacerse de estos artefactos de contorno en un trazo SVG de Inkscape?

Puedo obtener buenos resultados de rastreo en Inkscape al convertir un mapa de bits en una imagen vectorial, excepto por estos artefactos persistentes de contorno delgado. Se asemejan a un mapa topográfico y casi arruinan el rastro.

artefactos de contorno "topográficos"

No hay trazos en estos caminos, solo rellenos. Por lo tanto, no debería haber ningún contorno visible.

trazo deshabilitado

En caso de que ayude, aquí está mi configuración de seguimiento:Configuración de trazos de Inkscape

Estos artefactos también aparecen en los trazos de Illustrator. Pero específicamente estoy buscando una solución para prevenirlos o eliminarlos en Inkscape SVG.

Respuestas (3)

El problema está básicamente en la forma en que Inkscape decide dividir su imagen en regiones de color: en lugar de simplemente hacer que los colores más claros se superpongan a los más oscuros (o viceversa), termina con dos áreas de color adyacentes que se superponen a una tercera. color.

Dado que los bordes no se alinean perfectamente (debido a imprecisiones de trazado y también a algunas limitaciones fundamentales de la representación de imágenes vectoriales suavizadas), parte de ese tercer color termina mostrándose a través del espacio, creando el "borde" que está viendo.

Por desgracia, no conozco ninguna buena manera de solucionar este problema. Puede deshacerse de los colores de fondo desmarcando la casilla "escaneos de pila", pero luego obtiene espacios transparentes entre todas las rutas, lo que generalmente es aún peor. A veces, es posible obtener resultados aceptables al rastrear la imagen con "escaneos de pila" sin marcar, y luego aplicar un comienzo pequeño (digamos, 0.5 px) a todas las rutas resultantes para llenar los espacios, pero no espere esto. para conservar muy bien los detalles finos.

Para su imagen de ejemplo específica, una posible solución podría ser calcarla en escala de grises (es decir, seleccionar "Grises" en lugar de "Colores") y luego volver a colorear la imagen calcada; el modo de rastreo en escala de grises no parece sufrir este problema (que realmente consideraría un error, o al menos un defecto de diseño, en el rastreo de mapa de bits en color de Inkscape). Por supuesto, esto solo funciona bien para imágenes que son esencialmente monocromáticas, o que tienen colores simples y fáciles de recrear.

Estás en lo correcto. Descubrí que desmarcar "Escaneos de pila", desagrupar el objeto y luego aplicar un principio era la mejor "solución rápida", pero como dijiste, los detalles no se conservaron bien. Al final terminé apilando los escaneos y escaneando con solo 32 colores, lo cual fue suficiente en mi caso. Luego extendí cada ruta en incrementos usando Shift+ArrowKeys, eliminé las partes de las rutas que se superponían con colores diferentes y luego las realineé. Fue tedioso pero me dio el tamaño de archivo pequeño y la escalabilidad que necesitaba (en un logotipo para uso web). No recomiendo intentar esto a granel.

Los artefactos que experimenta provienen de los supuestos trazos invisibles en el borde exterior de los objetos apilados creados para cada color elegido en el calco.

Los artefactos pueden empeorar en caso de que hayamos aplicado un desenfoque gaussiano al mapa de bits antes del rastreo. Esto se hace mediante la smoothopción en el cuadro de diálogo de seguimiento de Inkscape. Por lo tanto, fue una buena idea no marcar esta opción.

ingrese la descripción de la imagen aquí Reproducción de los artefactos de línea.

Definir un trazo con el color de relleno

Ahora, deshacerse del artefacto es un poco engorroso. Tenemos que crear un trazo para cada uno de los 256 objetos de color que habíamos creado y establecer el color del trazo idéntico a su color de relleno.

  1. Desagrupar los objetos apilados seleccionados ( Shift+ Ctrl+ G)

  2. Seleccione un objeto (el modo de ruta ayuda a ver que hemos seleccionado el correcto):

    ingrese la descripción de la imagen aquí

  3. Diálogo Abrir objeto > Relleno y trazoShiftCtrlF

  4. Copie el color de relleno en la pestaña Relleno

  5. Abra la pestaña de pintura de trazo y haga un trazo de color plano de 1 px de ancho.

  6. Pegue el color de relleno al color del trazo:

    ingrese la descripción de la imagen aquí

  7. Repita 2. a 6. para cada uno de los objetos en nuestro rastro.

    ingrese la descripción de la imagen aquí Solo se eliminó una sola línea

Es posible que encontremos un script o un complemento externo que permita definir el color del trazo que coincida con el color de relleno para cada objeto de un SVG, pero mi búsqueda preliminar lamentablemente fue negativa.

Para eliminar también el paso de color aún visible entre los objetos vecinos, podemos agregar algún efecto de desenfoque a los objetos, pero esto conducirá a un tremendo aumento en el tiempo de renderizado del SVG.

Gracias, sin embargo, si tiene un SVG con más colores, se hará evidente que el problema real es el apilamiento de rutas, como explicó Ilmari, no los "supuestos trazos invisibles". Al principio yo también pensé que era un problema de accidente cerebrovascular. Tienes razón en mantener desactivado el ajuste Suave. Sin embargo, primero probé su consejo y descubrí que agregar trazos modificando el XML en el archivo SVG no es tan difícil, solo tengo que copiar/pegar para cada color/ruta. Si traza con 32 colores, obtiene 32 rutas (31 si elimina el fondo). Podría escribir un script de Python para automatizar esto, pero no es la solución.

Estoy usando Inkscape 0.91 r13725 en Debian 8

Vaya a: Filtros => Desenfoque => Desenfoque cruzado

Dejé el brillo en 0, el desvanecimiento en 0

SUPONIENDO que los espacios eran de 1 píxel. Configuré el desenfoque horizontal en 0.50. Configuré el desenfoque vertical en 0.50.

y hubo una mejora notable, pero no perfecta. Esperemos que esto ayude a lograr la perfección que buscas. La imagen era demasiado grande para que mi computadora portátil con poca potencia experimentara mucho.