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.

Leer libros ePub en MacOS X con VoiceOver

El formato ePub ha sido adoptado por muchos editores y creadores de contenido como el formato más idóneo y más común. Por desgracia para las personas ciegas existen pocos lectores de documento que soporten este formato y, además presenten el contenido del documento de forma accesible para los productos de apoyo como lectores de pantalla o magnificadores. Esto provoca la aparición de una barrera de acceso a la cultura muy importante.

La compañía Apple también utiliza este formato para distribuir libros en su tienda de libros iBook store. En la plataforma iOS para iPhones e iPads se utiliza la aplicación iBooks para leer estos libros pero la versión de iBooks para MacOS X, en su versión 1.1 resulta incómoda, poco accesible y poco usable para personas ciegas.

Hasta que Apple no publique una actualización para iBooks que solucione estos problemas de accesibilidad nos vemos obligados a buscar alternativas.

Gracias a la Mac App store, la tienda de aplicaciones para MacOS X, esta búsqueda es rápida y sencilla. En la Mac App store podemos encontrar iText Express

La aplicación iText Express nos permite editar y leer diversos formatos de documento como RTF, RTFD, Word y además nos permite leer documentos en formato ePub.

Aunque su interfaz presenta algunas barreras de accesibilidad la lectura de documentos es completamente accesible para usuarios con discapacidad visual total o parcial pudiendose utilizar tanto VoiceOver como Zoom.

Actualmente iText Express se distribuye de forma gratuita.

Queremos ser más que clientes, queremos xCode accesible

Apple, al igual que otras grandes empresas de tecnología, está trabajando desde hace años en incluir características de accesibilidad en sus productos porque han comprendido que las personas con discapacidad pueden ser buenos clientes. Este enfoque empresarial beneficia a la mayoría de las personas pero en algunos casos es insuficiente: las personas con discapacidad además de clientes queremos ser trabajadores, creadores, colaboradores y apple, al igual que estas otras grandes empresas tecnológicas, no ven a las personas con discapacidad como personas que puedan trabajar en tecnología ya que las herramientas para desarrollo software, diseño y gestión de proyectos u otras herramientas y aplicaciones relacionadas con el trabajo del software no incluyen tantas características de accesibilidad como otras aplicaciones publicadas por estas empresas.

Colaborando para mejorar

Siempre he considerado que para conseguir algo es mejor comenzar a trabajar en ello que no lamentarse y hacer una pataleta. Si hay que quejarse, pedir algo o contribuir comunicando la realidad de este mundo de personas con diversidad es necesario utilizar los canales apropiados para que nuestras palabras y nuestras intenciones consigan el mejor resultado. Por esta razón he enviado a la dirección de eMail de Apple para temas de accesibilidad (accessibility@apple.com) un texto en inglés pidiendo que hagan xCode, su herramienta de desarrollo para crear aplicaciones para MacOS e iOS, accesible para todos para que todos podamos ser clientes y trabajadores.

Creo que una de las razones por las que hay tal escasez de aplicaciones accesibles es porque hay muy pocos desarrolladores con discapacidad ya que no hay herramientas accesibles para ser desarrollador

El texto que he enviado a Apple es el siguiente:

Hello Apple Accessibility Team,

I know that xCode, the development tool for apple developers, has many accessibility barriers.

Blind developers cannot design interfaces for MacOS and iOS apps because the Interface Builder tool is not compatible with VoiceOver and other assistive tools.

There are few developers with disabilities because the developers’ tools are not fully accessible.

I think Apple should consider people with disabilities clients and workers as well. A person with any disability can buy any product, but he cannot work because there are not any accessible tools to work with.

Xcode offers developers some tools in order to make interfaces accessible, but xCode doesn’t offer developers with disabilities an accessible way to work with xCode itself.

In conclusion, I want Apple to create an accessible development tool for everybody. I want an accessible xCode.

Un amigo me pidió que compartiese este texto porque también quiere participar para que Apple ofrezca más oportunidades a sus clientes así que aquí está el texto. Si tu también quieres participar puedes obtener este texto en formato txt y enviarlo en un correo electrónico a accessibility@apple.com.

Cómo añadir cuentas de Twitter y Facebook en Mountain Lion

Una de las nuevas características de OSX Mountain Lion es la posibilidad de añadir nuestras cuentas de redes sociales al sistema. De esta forma podremos recibir notificaciones de eventos de las redes sociales en las que participemos.

Con la primera versión de OSX Mountain Lion sólo era posible incluir nuestro perfil de Twitter pero con la actualización 10.8.2 ahora también podemos agregar nuestra cuenta de Facebook.

Añadiendo nuestra cuenta en el sistema

Para añadir nuestra cuenta de redes sociales en nuestro equipo OSX debemos ir, como sucede en otras cuentas del sistema, a preferencias del sistema / correo, contactos y calendarios. En este panel de preferencias del sistema se configuran las cuentas que se utilizan con Mail, Contactos, Calendario, Mensajes y otras aplicaciones.

Al abrir este panel encontraremos una tabla denominada cuentas de Internet en la que se listarán todas las cuentas de servicios que utilicen conexión a Internet: correo electrónico, mensajería instantánea, redes sociales, etc.

Seleccionando una de las cuentas podremos ver qué aplicaciones utilizan esta configuración. Para ello encontraremos más abajo una tabla denominada Aplicaciones. Podemos dar acceso o restringir el acceso a ciertas aplicaciones verificando o desverificando la aplicación en esta tabla.

En el panel encontraremos un par de botones para añadir o eliminar una cuenta de Internet. Al pulsar el botón de añadir, cerca de la tabla de cuentas de Internet aparecerá una nueva tabla identificada como nuevos tipos de cuenta. Dentro de esta tabla seleccionaremos el tipo de servicio asociado a nuestra nueva cuenta. Los valores posibles son: cuentas de correo Exchange, Gmail e iCloud; cuentas de redes sociales como Twitter o Facebook; servicios de publicación multimedia como Vimeo o Flickr y más opciones que se irán añadiendo con futuras actualizaciones del sistema.

Debemos pulsar sobre el tipo de cuenta que queramos añadir al sistema. Cuando lo hagamos nos aparecerá un cuadro de diálogo pidiendo que iniciemos sesión en el servicio. Una vez iniciada la sesión de forma correcta la nueva cuenta estará registrada en nuestro sistema.

Personalizando algunos parámetros de nuestras cuentas

Una vez configuradas nuestras cuentas de Internet podemos seleccionarlas en la tabla de cuentas de internet. Al seleccionar una de las cuentas, más abajo, nos aparecerá información para su personalización como el nombre de la cuenta, usuario y contraseña y algunos valores relacionados con el tipo de servicio. Por ejemplo, en una cuenta de Twitter nos permite buscar nuestros contactos en esta red social y sincronizar nuestra agenda de contactos del sistema.

Notificaciones de cada cuenta

Las notificaciones de cada cuenta o servicio agregado se gestionan en el centro de notificaciones de Mountain Lion. En un futuro artículo hablaremos de este centro de notificaciones.

Cambiar rápidamente de idioma para el dictado en OSX

La nueva función de dictado para OSX permite al usuario dictar textos en más de 20 idiomas. Su uso es muy sencillo al igual que su configuración.

El problema aparece cuando el usuario quiere dictar en más de un sólo idioma. Aunque el cambio de idioma es sencillo puede resultar engorroso y lento y lo digo por experiencia. Durante un día normal de uso de este servicio puedo cambiar esta configuración unas 8 veces.

Para facilitar la operación de cambio de idioma he realizado un script de AppleScript que nos permite conmutar el idioma de dictado entre español de España e inglés de Estados unidos.

Este script, junto a la posibilidad de ejecución de scripts por atajos de teclado de VoiceOver, habilitan un cambio rápido de este servicio para adaptarse a nuestras necesidades en todo momento.

Puedes descargar el script de cambio de idioma e instalarlo en tu sistema OSX Mountain Lion.

Requisitos del script

Para un correcto funcionamiento del script es necesario cumplir los siguientes requisitos:

  • Utilizar OSX Mountain Lion 10.8.2 o superior
  • Tener instaladas las voces de Alex y Diego en el sistema. Estas voces se utilizan para la notificación de cambio de idioma.
  • Utilizar OSX en español. El script no funcionará de forma apropiada en un entorno OSX configurado para otro idioma.
  • El script sólo cambia entre español de España e inglés de Estados unidos. Para modificar estos valores es necesario modificar el código fuente del script.
  • Este script se distribuye de forma gratuita. Si vas a modificarlo o distribuirlo respeta su autoría y recuerda mencionar la fuente original de donde lo obtuviste.