El uso de imágenes vectoriales en lugar de mapa de bits a la hora de realizar iconos da una imagen mucho mas profesional, dado que el aspecto de los iconos está mucho mas detallado. Existen diferentes herramientas en Ubuntu para realizar este trabajo, pero precisamente el otro día encontré Potrace.
Potrace es el origen del sistema de vectorización que utiliza Inkscape, sin embargo, a mi me interesa para poder realizar la vectorización de varias imágenes desde el terminal, con la única preocupación de ver el resultado final. Así mismo, me plantea una nueva aplicación para realizar este trabajo, un nuevo interfaz gráfico, pero esto va a ser el proyecto para las primeras semanas del mes de enero, ya veremos.
En fin, como de costumbre se trata de reducir al máximo el número de recursos necesarios y utilizar cada aplicación para lo que necesitas.
Potrace, es una utilizada para trazar un bitmap, es decir convertirlo en una imagen escalable. La entrada del programa es un bitmap (PBM, PGM, PPM, o BMP), y la salida por defecto es un archivo EPS (postscript encapsupado), aunque también puede producir otros formatos, como PostScript, PDF, SVG, Xfig, Gimppath, y PGM .
Además Potrace viene con Mkbitmap que es un programa que se puede utilizar para pre-procesar las imágenes para mejorar la conversión a escalable.
¿Como instalar y utilizar Potrace mediante un ejemplo?
Puedes instalar Potrace directamente desde el repositorio de Ubuntu (ahora está disponible la versión 1.8.4) o bien descargar e instalar la última versión:
wget
tar -xvzf potrace-1.13.tar.gz
cd potrace-1.13
./configure
make
sudo make install
Y si toda ha ido bien, ya lo tienes instalado. Ahora vamos a probarlo. Para ello, utilizaré una imagen de la wikipedia:
Descargamos la imagen y la convertimos a un formato compresible para potrace, por ejemplo bmp:
wget https://upload.wikimedia.org/wikipedia/commons/1/10/Martin_Schongauer_Elefant.jpg
convert Martin_Schongauer_Elefant.jpg Martin_Schongauer_Elefant.bmp
y ahora la hacemos escalable en formato svg:
potrace -s Martin_Schongauer_Elefant.bmp
El resultado es el siguiente:
Ahora, vamos a utilizar mkbitmap para mejorar el resultado:
mkbitmap Martin_Schongauer_Elefant.bmp -o Martin_Schongauer_Elefant-mkbitmap.bmp
potrace -s Martin_Schongauer_Elefant-mkbitmap.bmp
Y el resultado:
Mucho mejor, ¿no te parece?
Esta excelente, estas pensando hacer una aplicación gráfica para la utilización de Potrace? Seria sensacional.
hola, gracias por el articulo, tengo una duda; ¿puede usarse para vectorización masiva?, una carpeta completa repleta de imágenes por ejemplo
Hola David,
Si, pero para ello es necesario crear un script que permita realizar la operación. Si te parece, en los próximos días publicaré un artículo de como hacer el script, tanto para usarlo en el emulador de terminal como para Nautilus.
Gracias.
genial muchas gracias!
Sería SúPER-genial que lo actualizara si es posible con una interfáz gráfica aon algún control y que permita ver el resultado. Hace un montón busco un programa para Ubuntu que permita vectorizar una imagen png o jpg o bmp. En muchas web sugieren Inkscape y que guarde la imagen en Svg pero no se vectoriza en consecuencia no se puede trabajar con nodos. Inkscape tampoco es muy bueno vectorizando imágenes como por ejemplo Vector Magick (para mi el mejor) o Corel y otros.
Desde ya muchísimas gracias por su tiempo y trabajo.
Olvidaba comentar, hace varios meses migré a Linux y el shell/terminal de Linux como que no somos muy amigos (demasiados años -desde 1994- con el «otro»). 🙁