Inkscape | Descarga y Tutoriales

Antes de que tuviéramos acceso a un gran software de edición de gráficos vectoriales…Era común jugar a videojuegos con píxeles cuidadosamente elaborados en pantallas de baja resolución. Llamamos “Pixel Art” al tipo de arte nacido en esta época.

Inkscape es impulsado por libdepixelize con la capacidad de vectorizar automáticamente estas imágenes “especiales” de Pixel Art. Puedes probar otros tipos de imágenes de entrada también, pero ten cuidado: El resultado no será igual de bueno y es mejor idea usar el otro rastreador de Inkscape, potrace.

Comencemos con una imagen de muestra para mostrarles las capacidades de este motor trazador. Abajo hay un ejemplo de una imagen rasterizada (tomada de una entrada de LiberatedPixel Cup) a la izquierda y su salida vectorizada a la derecha.

libdepixelize utiliza el algoritmo Kopf-Lischinski para vectorizar imágenes. Este algoritmo utiliza ideas de varias técnicas de computación y conceptos matemáticos para producir un buen resultado para las imágenes de arte de píxeles. Una cosa a notar es que el canal alfa es completamente ignorado por el algoritmo. libdepixelize no tiene actualmente extensiones para dar un tratamiento ciudadano de primera clase para esta clase de imágenes, pero todas las imágenes pixel art con soporte de canal alfa están produciendo resultados similares a la clase principal de imágenes reconocidas por Kopf-Lischinski.

La imagen de arriba tiene canal alfa y el resultado es muy bueno. Aún así, si encuentras una imagen pixelada con un mal resultado y crees que la razón es el canal alfa, entonces contacta con el mantenedor de libdepixelize (por ejemplo, rellena un error en la página del proyecto) y él estará encantado de extender el algoritmo. No puede extender el algoritmo si no sabe qué imágenes están dando malos resultados.

El algoritmo Kopf-Lischinski funciona (desde un punto de vista de alto nivel) como un compilador, convirtiendo los datos entre varios tipos de representación. En cada paso el algoritmo tiene la oportunidad de explorar las operaciones que esta representación ofrece. Algunas de estas representaciones intermedias tienen una representación visual correcta (como el gráfico de células remodelado de la salida de Voronoi) y otras no (como el gráfico de similitudes). Durante el desarrollo de libdepixelize el usuario pidió que se añadiera la posibilidad de exportar estas etapas intermedias a la libdepixelize y el autor original de libdepixelize concedió sus deseos.

La salida por defecto debería dar el resultado más suave y es probablemente lo que usted desea. Ya viste la salida por defecto en las primeras muestras del tutorial. Si quieres probarlo por ti mismo, sólo tienes que abrir el diálogo Trace Bitmap (rastreo de mapa de bits), seleccionar la pestaña Pixel art y hacer clic en OK después de elegir alguna imagen en Inkscape.

Puedes ver la salida de Voronoi abajo y esta es una “imagen de píxeles remodelada“, donde las células (anteriormente píxeles) se remodelaron para conectar los píxeles que son parte de la misma característica. No se crearán curvas y la imagen sigue estando compuesta de líneas rectas. La diferencia se puede observar cuando se amplía la imagen. Anteriormente los píxeles no podían compartir un borde con un vecino en diagonal, incluso si se suponía que formaban parte de la misma característica. Pero ahora (gracias a un color similar al del gráfico y a la heurística que se puede afinar para lograr un mejor resultado), es posible hacer que dos celdas diagonales compartan un borde (antes sólo los vértices simples eran compartidos por dos celdas diagonales).

La salida estándar de las líneas B le dará resultados suaves, porque la salida anterior de Voronoi se convertirá en curvas Bézier cuadráticas. Sin embargo, la conversión no será 1:1 porque hay más heurísticos trabajando para decidir qué curvas se fusionarán en una cuando el algoritmo alcance una unión T entre los colores visibles. Una pista sobre la heurística de esta etapa: No se pueden afinar.

La etapa final de libdepixelize (actualmente no exportable por el Inkscape GUI debido a su estado experimental e incompleto) es “optimizar curvas” para eliminar el efecto de escalera de las curvas B-Spline. En esta etapa también se aplica una técnica de detección de bordes para evitar que algunos rasgos sean suavizados por el ser humano y una técnica de triangulación para fijar la posición de los nodos después de la optimización. Debería ser posible desactivar individualmente cada una de estas características cuando esta salida salga de la “etapa experimental” en libdepixelize.

La sección de heurística en la guía le permite afinar la heurística utilizada por libdepixelize para decidir qué hacer cuando se encuentra con un bloque de 2×2 píxeles donde las dos diagonales tienen colores similares. “¿Qué conexión debo mantener?” es lo que pide libdepixelize. Intenta aplicar toda la heurística a las diagonales en conflicto y mantiene la conexión del ganador. Si se produce un empate, ambas conexiones se borran.

Si quieres analizar el efecto de cada heurística y jugar con los números, la mejor salida es la de Voronoi. Puedes ver más fácilmente los efectos de los heurísticos en la salida de Voronoi y cuando estés satisfecho con las configuraciones que tienes, puedes cambiar el tipo de salida a la que quieras.

La imagen de abajo tiene una imagen y la salida B-Splines con sólo una de las características activadas para cada intento. Presta atención a los círculos púrpuras que resaltan las diferencias que cada heurística realiza.

Para el primer intento (imagen superior), sólo activamos las curvas heurísticas. Esta heurística intenta mantener las curvas largas conectadas entre sí. Puedes notar que su resultado es similar al de la última imagen, donde se aplica la heurística de píxeles escasos. Una diferencia es que su “fuerza” es más justa y sólo da un alto valor a su voto cuando es realmente importante mantener estas conexiones. La definición/concepto de “justo” aquí se basa en la “intuición humana” dada la base de datos de píxeles analizados. Otra diferencia es que esta heurística no puede decidir qué hacer cuando las conexiones agrupan grandes bloques en lugar de largas curvas (piense en un tablero de ajedrez).

Para el segundo intento (la imagen del medio), sólo habilitamos la heurística de islas. Lo único que hace esta heurística es tratar de mantener la conexión que de otra manera resultaría en varios píxeles aislados (islas) con un voto de peso constante. Este tipo de situación no es tan común como la que manejan los otros heurísticos, pero esta heurística es genial y ayuda a dar aún mejores resultados.

Para el tercer intento (la imagen inferior), sólo activamos la heurística de píxeles escasos. Esta heurística intenta mantener las curvas con el color del primer plano conectado. Para averiguar cuál es el color del primer plano, la heurística analiza la ventana con los píxeles alrededor de las curvas en conflicto. Para esta heurística, no sólo afina su “fuerza“, sino también la ventana de píxeles que analiza. Pero ten en cuenta que cuando aumentas la ventana de píxeles analizados la máxima “fuerza” para su voto también aumentará y quizás quieras ajustar el multiplicador para su voto. El autor original de libdepixelize piensa que este heurístico es demasiado codicioso y le gusta usar el valor “0.25” para su multiplicador.

Incluso si los resultados de la heurística de curvas y de la heurística de píxeles dispersos dan resultados similares, puede que quieras dejar ambas activadas, porque la heurística de curvas puede dar una seguridad extra de que las curvas importantes de los píxeles de contorno no se verán obstaculizadas y hay casos que sólo pueden ser respondidos por la heurística de píxeles dispersos.

Pista: Puedes deshabilitar todas las heurísticas estableciendo sus valores de multiplicador/peso a cero. Puedes hacer que cualquier heurística actúe en contra de sus principios usando valores negativos para sus valores de multiplicador/peso. ¿Por qué querrías reemplazar un comportamiento que fue creado para dar mejor calidad por el comportamiento opuesto? Porque puedes… porque podrías querer un resultado “artístico”… lo que sea… simplemente puedes.

Para esta primera versión de libdepixelize estas son todas las opciones que tienes.

Todas las imágenes utilizadas aquí fueron tomadas de Liberated Pixel Cup para evitar problemas de derechos de autor. Los enlaces son:

  • http://opengameart.org/content/memento
  • http://opengameart.org/content/rpg-enemies-bathroom-tiles

Autores: Vinícius dos Santos Oliveira; Nicolas Dufour; Kris De Gussem; Gellért Gyuris

*Aclaración: Esta pagina es una traducción al español de la pagina oficial de Inkscape.org, ya que la misma no posee una versión en este idioma. Para ver el tutorial es su versión original en ingles haga clic aquí

 

inkscape-tutorial-de-elementos-de-diseno
inkscape-tutorial-de-interpolar
inkscape-tutorial-de-caligrafia
inkscape-tutorial-de-pixelart
inkscape-tutorial-de-rastreo-mapa-de-bits
inkscape-tutorial-avanzado
inkscape-tutorial-basico
inkscape-tutorial-de-formas