Lee imágenes desde tu Mac con Tesseract de forma fácil y gratuita

A veces necesitamos manipular o acceder a la información escrita de una imagen o documento con imágenes incrustadas, esto es muy habitual por ejemplo para las personas ciegas o con baja visión. Para estas tareas se suele utilizar una herramienta software de reconocimiento óptico de caracteres o las siglas en inglés OCR.

Estas aplicaciones de OCR han sido, hasta hace poco, bastante caras de precio pero en la actualidad, y gracias al movimiento de software libre, disponemos de buenas alternativas libres y gratuitas. El ejemplo más conocido es Tesseract.

Este motor OCR fue originariamente desarrollado por Hewlett Packard para ser un software de pago, tras 10 años de explotación fue donado como código abierto a la comunidad. Actualmente Google se encarga de su mantenimiento y su nivel de precisión y soporte de varios idiomas lo convierten en una buena opción para competir con otros motores OCR de pago.

MacOS X, el sistema operativo de Apple para sus ordenadores de sobremesa y portátiles, dispone de una versión de Tesseract dentro de la comunidad de desarrollo. Esta versión puede ayudarnos en muchos momentos a acceder al contenido textual de una imagen o recurso visual de forma rápida y gratuita.

Instalación de Tesseract

Tesseract se distribuye de forma abierta con su código fuente por lo que cualquiera puede visitar la página web del proyecto Tesseract y bajar su código fuente y compilarlo en su máquina utilizando las diversas herramientas de desarrollo. Cuando hay herramientas de desarrollo involucradas en una tarea muchos usuarios piensan que va a ser algo imposible, no es del todo así en todos los casos.

Herramientas para desarrolladores que ayudan a todo el mundo

Las herramientas para desarrolladores, utilizadas de forma apropiada, pueden ayudar a cualquiera. Al igual que un cuchillo puede ser utilizado para defensa también nos puede ayudar a cortar el pan o una cuerda, sólo debemos preocuparnos por aprender a utilizarlo de forma apropiada y responsable.

La instalación de Tesseract puede ser muy compleja a menos que hagamos uso de una de estas herramientas para desarrolladores, hablamos de Homebrew. Brew o Homebrew es un gestor de paquetes que permite instalar rápidamente librerías y utilidades en MacOS X. La mayoría de estas utilidades y librerías están relacionadas con tareas de desarrollo pero otras son utilidades del sistema para el usuario, como es el caso de Tesseract.

La instalación de Homebrew y Tesseract se realizará a través del terminal.

Para instalar Homebrew simplemente abre el terminal, localizado en la carpeta Utilidades que está dentro de la carpeta de Aplicaciones.

Una vez abierta la ventana del terminal escribe la siguiente línea de comandos:


/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Una vez instalado Homebrew podemos comprobar si se ha instalado correctamente. Para ello escribimos en el terminal el siguiente comando:

brew --version

Atención: los comandos del terminal son sensibles a mayúsculas y minúsculas por lo que hay que tener cuidado en cómo se escribe cada comando.

Instalación rápida de Tesserac

Una vez instalado Homebrew en nuestro equipo podemos instalar Tesseract con soporte para más de 30 idiomas con un simple comando de terminal:

brew install tesseract --with-all-languages

Instalando todos los lenguajes nos aseguramos que tendremos un soporte completo para nuestro idioma.

Utilizando Tesseract desde la consola de comandos

Usar Tesseract desde la línea de comandos es tan sencillo como llamarlo indicando el fichero de imagen y el nombre del fichero donde queremos que guarde el resultado. Un ejemplo:

tesseract $HOME/Desktop/captura.png $HOME/Desktop/resultado

El anterior ejemplo utilizará el fichero de imagen captura.png, que puede ser una captura de pantalla guardada en nuestro escritorio, y guardará el resultado del proceso OCR en el fichero resultado.txt que se guardará en el escritorio. El problema de este comando es que intentará realizar el proceso primero en inglés. Podemos indicar el idioma simplemente con el parámetro -l. El ejemplo quedaría así si queremos realizar el proceso de OCR para el idioma español:

tesseract $HOME/Desktop/captura.png $HOME/Desktop/resultado -l spa

Desinstalar Tesseract

Si por alguna razón no queremos seguir teniendo a Tesseract el comando es tan simple como:

brew uninstall tesseract

Cómo reproducir un sonido al iniciar sesión en OSX

Aunque el sistema operativo OSX posee muchas características de accesibilidad y usabilidad hay que reconocer que el número de eventos del sistema asociados a un sonido es insuficiente.

Por suerte para sus usuarios existen herramientas y aplicaciones para solucionar total o parcialmente este problema.

Sonido al iniciar la sesión

Uno de los eventos de sonido más reconocidos en el sistema operativo Windows de Microsoft es el inicio de sesión. Es habitual escuchar una fanfarria notificando que la sesión del usuario se ha abierto.

Detectar cuando sucede este evento es sencillo. Podemos lanzar una aplicación cuando el sistema operativo arranque. Para ello las preferencias del sistema posee un apartado en la que se indican qué aplicaciones se arrancarán con la sesión del usuario.

Crear aplicaciones con Automator no es demasiado complicado.

Al abrir Automator y pulsar el botón de nuevo documento debemos seleccionar aplicación como tipo de documento .

Al abrirse la interfaz de Automator nos aparece una acción ya creada con el texto Una aplicación recibe archivos y carpetas como datos de entrada. Debemos ignorar esto ya que la entrada de datos en nuestra aplicación para reproducir un sonido será ignorada.

Reproduciendo un sonido desde la terminal de OSX

Para que nuestra aplicación creada con Automator reproduzca un sonido utilizaremos un comando de la terminal de OSX que tiene esta funcionalidad. Es el comando afplay. Este comando puede reproducir sonidos en diversos formatos como AIFF, CAF o WAV.

Para poder utilizar un comando de la terminal en Automator debemos incluir una acción de tipo Ejecutar el script Shell que se encuentra dentro de la categoría utilidades de la biblioteca de acciones de Automator. Debemos añadir esta acción a nuestro flujo de aplicación de Automator, para ello debemos arrastrar el elemento Ejecutar el script Shell a la zona de acciones del flujo de trabajo (donde aparece el texto Una aplicación recibe archivos y carpetas como datos de entrada). Los usuarios de VoiceOver deben usar las funciones de arrastrar y soltar que incorpora este lector de pantallas.

Una vez que tengamos la acción añadida a nuestro flujo de Automator debemos introducir nuestro código del script para reproducir un sonido. Esto lo haremos dentro del cuadro de edición en el que por defecto viene el código cat. Debemos sustituir todo ese código por el nuestro.

Para nuestro ejemplo vamos a reproducir un sonido propio del sistema operativo. Será el fichero Blow.aiff que está en la carpeta /System/Library/Sounds/. El código sería el siguiente:

afplay /System/Library/Sounds/Blow.aiff

Una vez hecho esto podemos probar que nuestra aplicación funciona, para ello sólo debemos ejecutar nuestro flujo de trabajo desde el propio Automator utilizando la opción que se encuentra en el menú Flujo de trabajo. Nos saldrá una alerta indicando que Automator requiere acceso a los parámetros del Finder, podemos ignorar la advertencia ya que cuando demos a guardar nuestra aplicación no habrá ningún problema.

Guardamos nuestra aplicación en la carpeta de aplicaciones con el nombre que decidamos.

Ejecutando nuestra aplicación al inicio de la sesión

Con nuestra aplicación lista en la carpeta de aplicaciones ahora debemos hacer que se ejecute cada vez que el sistema se inicie. Para ello debemos ir a las Preferencias del sistema y en el panel de usuarios y grupos debemos seleccionar nuestro usuario y pulsar la pestaña items de inicio. Nos aparecerá una tabla con las aplicaciones que se abren al iniciar la sesión del usuario seleccionado y un par de botones para añadir o eliminar items de inicio.

Una vez añadida nuestra aplicación podemos cerrar las preferencias del sistema y reiniciar nuestro equipo para probar que se reproduce el sonido correctamente.

Puedes descargar el ejemplo de Sonido de inicio en formato Zip para probar y seguir el ejemplo.