Cómo digitalizar y vectorizar firmas desde una imágen con Potrace desde la linea de comandos CLI

Cómo digitalizar y vectorizar firmas desde una imágen con Potrace desde la linea de comandos CLI

Potrace es una herramienta de consola de comandos (CLI) para trazar un mapa de bits, transformado dicho mapa de bits en una fluida y escalable imágen en formato SVG. La entrada debe ser un mapa de bits (formato PBM, PGM, PPM o BMP), y la salida es uno de varios formatos de archivos vectoriales. Un uso típico es crear archivos SVG o PDF a partir de datos escaneados, como logotipos de empresas o universidades, notas manuscritas, etc. La imagen resultante no es "irregular" como un mapa de bits, sino suave. Entonces puede ser procesado en cualquier resolución.

Potrace puede actualmente generar los siguientes formatos: SVG, PDF, EPS, PostScript, DXF, GeoJSON, PGM (para facilitar el antialiasing de imágenes basadas en píxeles), Gimppath, y XFig. En este artículo, te mostraremos cómo usar potrace para vectorizar una firma desde una imágen con la linea de comandos usando una sencilla instrucción.

1. Descargar Potrace

Como primer paso, en caso de que no tengas Potrace instalado en tu sistema (Windows o basados en Unix), necesitarás adquirir sus binarios:

Fuente de distribución: potrace-1.15.tar.gz
Distribuciones precompiladas: Windows (64 bit) potrace-1.15.win64.zip
potrace-1.15.win64.tar.gz
Windows (32 bit) potrace-1.15.win32.zip
potrace-1.15.win32.tar.gz
Mac OS X (64 bit) potrace-1.15.mac-x86_64.tar.gz
Mac OS X (32 bit) potrace-1.15.mac-i386.tar.gz
Linux (64 bit) potrace-1.15.linux-x86_64.tar.gz
Linux (32 bit) potrace-1.15.linux-i386.tar.gz
Sun Solaris (Sparc) potrace-1.15.solaris-sparc.tar.gz
Sun Solaris (x86_64) potrace-1.15.solaris2.11-x86_64.tar.gz
Sun Solaris (i386) potrace-1.15.solaris2.11-i386.tar.gz
FreeBSD (x86_64) potrace-1.15.freebsd12-x86_64.tar.gz
NetBSD (x86_64) potrace-1.15.netbsd8-x86_64.tar.gz
OpenBSD (x86_64) potrace-1.15.openbsd61-x86_64.tar.gz
Minix (i386) potrace-1.15.minix-i386.tar.gz
Linux (Sparc) potrace-1.15.linux-sparc.tar.gz
Linux (Alpha) potrace-1.11.linux-alpha.tar.gz
AIX potrace-1.10.aix-rs6000.tar.gz
AROS (i386) potrace-1.9.aros-i386.zip
potrace-1.9.aros-i386.tar.gz
Paquete: Solaris Paquete potrace-1.15.pkg.gz(1)
Redhat Fuente RPM potrace-1.15-1.src.rpm
Redhat Binario RPM (x86_64) potrace-1.15-1.x86_64.rpm
Amiga (OS4) potrace.lha (version 1.15)(5)
Gestión de paquetes: Debian y Ubuntu apt-get install potrace(4)
SuSE potrace(6)
Fedora yum install potrace(7)
ArchLinux pacman -S potrace(8)
FreeBSD pkg_add -r potrace(9)
Fink (Mac OS X) fink install potrace(10)
Macports (Mac OS X) port install potrace(11)
NixOS nix-env -i potrace(12)

En entornos como Ubuntu o CentOS es bastante fácil de instalar con la línea de comandos y estará disponible de forma inmediata desde la línea de comandos como potrace. En Windows necesitará usar el ejecutable para el comando con la ruta completa:

"C:\\Program Files\\potrace\\potrace.exe" --svg signature.bmp -o signature.svg R

O debes hacer que el directorio donde se encuentra localizado el ejecutable de potrace, esté disponible desde el path. Para más información sobre potrace, no olvides visitar el sitio web oficial aquí.

2. Convertir tu imágen en formato JPEG/PNG a BMP

Como siguiente paso, necesitarás una imágen de una firma, por ejemplo:

Random Signature

Sin embargo, potrace necesita una imágen en formato Bitmap (BMP). Asi que debes estar seguro de que tu imágen este en ese formato, si está en otro formato puedes usar alguna herramienta como Imagick o una herramienta online.

3. Vectorizar imágen a formato SVG con Potrace

Finalmente procede a vectorizar tu imágen BMP con potrace usando el siguiente comando:

REM Vectorizar imagen con una sencilla instrucción
potrace --svg signature.bmp -o signature.svg 

Cabe destacar que con imágenes grandes o cuando uses potrace desde la consola sin automatización (por ejemplo ejecutando la instrucción con algun lenguaje de programación), puedes mostrar el progreso de la vectorización añadiendo la opción de --progress al comando:

potrace --svg --progress signature.bmp -o signature.svg

Que genera una barra de progreso en la consola:

Potrace from the CLI

Recuerde que Potrace funciona desde BMP a SVG y otros formatos como PDF, sin embargo, SVG es la forma estándar de hacerlo porque puede usar otras herramientas como Imagick para convertirlo de SVG a PNG con transparencia con facilidad.

Para un tutorial detallado y descripción acerca de las opciones que tiene potrace, no olvides visitar la página de man de la utilidad de potrace aquí. El resultado del comando anterior será la imágen generada, que en este caso es signature.svg que contiene la imágen original pero vectorizada:

SVG Result Potrace

De esta manera con esta herramienta podrás guardar algunos dolares que tienes que pagar cuando el trabajo lo hace algun diseñador para digitalizar la firma de algun cliente.

Que te diviertas !

Podría ser de tu interes
Conviertete en un programador más sociable