convertir la imagen de un número a un número usando gocr

· osiux's blog


.org | .md | .gmi | .html

porqué me mandan imágenes de números? #

Muchas veces uno debe intercambiar información y no siempre recibir una imagen es la mejor opción, al menos no, cuando se trata de números, un ejemplo clásico es recibir la imagen de un CBU 1 que es un número larguísimo y difícil de tipear como número dónde se necesita ingresar.

y lo puedo convertir a texto? #

Gracias a gocr es posible convertirlo rápidamente desde la consola y sin necesidad de un editor de imágenes gráfico!

Gracias a imagemagick se puede recortar la porción de la imagen que necesito, por ejemplo, hace unos días recibí una imagen con fechas y números, no importa que significan, importa que necesito los números como números y no como pixeles!

Solo hay que instalar estos paquetes:

1apt install imagemagick gocr
2

identify #

Lo primero fue recortar la imagen, para ello primero debo saber que tamaño tiene usando identify

1identify gocr-fecha-nro.png
2
3gocr-fecha-nro.png PNG 157x286 157x286+0+0 8-bit sRGB 22286B 0.000u 0:00.000
4

crop #

Necesito la segunda columa, y estimo que tiene 50 pixeles de ancho, asi que sabiendo el alto total de la imagen la corto y genero una nueva imagen, solo con los números:

1convert -crop 50x286+105+0 gocr-fecha-nro.png gocr-solo-nro.png
2

gocr #

Finalmente la magia ocurre con una sola línea de comandos:

 1gocr -i gocr-solo-nro.png -C 0-9
 2
 3247
 4218
 5173
 6303
 770
 82
 94
1015
1165
1242
1350
1460
151
16

El parámetro C 0-9 indica que solo espero reconocer números, esto es vital para que el 1 no lo tome como una l o un 8 como una B, todo depende mucho de la calidad de la imagen y la tipografía utilizada.

ChangeLog #