El mundo del OCR en el software libre

ocr

Este post surge por motivo de una consulta de una amiga. Esta amiga me preguntaba cómo podía hacer para escanear texto y luego poder modificarlo. A mi cabeza enseguida vinieron las siglas OCR… pero luego me quedé pensando más profundamente e intenté recordar algún programa que haya leido por ahí que fuese OpenSource… y nada venía, así que acabé recomendandole el ABBY FineReader que era el que usaba en mis años oscuros allá cuando usaba al Ventanitas.

Luego de hablar con ella me dispuse a informarme sobre software OCR libre… y mi decepción fue mayúscula cuando nada bueno encontraba. Todo lo que leia era la pésima situación del OCR para Linux y el software libre bla bla bla.

Seguí buscando y acabé haciendo una lista de todos los programas que había encontrado:

Estuve leyendo la historia de cada uno de ellos e investigando sobre los proyectos. Entre ellos se encuentra el oficial de GNU “OCRAD”, tenemos el HOCR que está especializado para el Hebreo… y los dos más importantes que vi fueron el Tesseract y el OCRopus.

Por qué los considero los más importantes de la lista? Sencillo. Google está detras de los dos. ¿Y qué tiene que ver eso para que sea un buen programa de OCR? Pues todo my friend, ya que Google si mal no recuerdo se está dedicando a digitalizar las obras con copyright caducado de todas las bibliotecas del mundo. Digo yo que prestaran mucha atención al software de digitalizacion no?

El primero es Tesseract. Según cuenta la Wikipedia, este fue originalmente desarrollado como software propietario de HP entre 1985 y 1995. Luego de 10 años sin desarrollo, HP y UNLV lo publicaron como OpenSource (2005). Actualmente lo desarrolla Google y se encuentra bajo licencia Apache versión 2.

Tesseract funciona por terminal (aunque es posible encontrar algun GUI en Java por ejemplo según los resultados de mis búsquedas. Ej: jtOCR). Cabe destacar tambien que no tiene formato de salida. Simplemente procesa imágenes TIFF y crea un archivo de texto con el resultado.

Trabaja con Inglés, Francés, Italiano, Alemán, Español, Brasileño, Portugués e incluso otros idiomas si lo entrenas para ello.

Su uso es bastante simple para tareas fáciles.

Para instalarlo podemos hacerlo:

  • Ubuntu:

sudo apt-get install tesseract-ocr-spa tesseract-ocr-eng

(esto instalará el tesseract y además el soporte para el Español. Es necesario instalar el inglés si no vas a definir el parámetro de lenguaje)

  • ArchLinux:

sudo pacman -S tesseract

(Aun no he podido probarlo en Arch porque no estoy en mi ordenador, pero viendo los repositorios se supone que valdria con eso)

  • Sources:

wget -c http://tesseract-ocr.googlecode.com/files/tesseract-2.04.tar.gz

tar xzvf tesseract-2.04.tar.gz

cd tesseract-2.04.tar.gz

./configure

make

sudo make install

Como usarlo:

como ya dije su uso es muy simple. Para ello hice un pequeño videotutorial, pero debido a problemas con el Ubuntu en el que estoy trabajando, me es imposible editarlo a gusto. Así que cuando llegue a casa con mi Arch lo pondré todo listo y actualizaré este post.

Debemos tener localizado el archivo TIFF que queremos procesar. Estos archivos se obtienen de escanear.

tesseract    archivo.tif    archivoresultante   -l  spa

(el “-l spa” le dice a Tesseract que el texto está en Español.)

Bien, por otra parte tenemos a OCRopus, tambien con licencia Apache versión 2. Este a diferencia del anterior, funciona de forma modular mediante plugins. Es más, OCRopus usa Tesseract para su detección de carácteres únicos.

OCRopus incluye tambien soporte para reconocimiento de escritura a mano, pero está desactivado, pensando en activarse en el futuro. Y como ya he dicho… Google es sponsor del proyecto.

Como se puede observar, este es un proyecto más grande que el anterior, con más potencia. Está pensado para procesar grandes cantidades de documentos. Este tambien funciona en línea de comandos.

De este no os puedo enseñar su uso porque no lo he probado. Quizás en un futuro. Por el momento estoy manejando Tesseract y no me está defraudando. Tiene un muy buen reconocimiento de carácteres.


3 Comments

  1. Ese “Estube leyendo” me ha impedido seguir leyendo.

  2. Corregido xD
    Ahora podras continuar

Leave a Reply


Powered by WP Hashcash