Configurar los motores OCR para reconocer el texto
Daniel Mustieles
daniel.mustieles@gmail.com 2011 - 2018

# Configuración de los motores OCR

OCRFeeder utiliza todos los motores OCR del sistema para extraer el texto de las imágenes. Esto significa que cualquier motor OCR usado desde la línea de comandos debería poder usarse en OCRFeeder.

# Detección automática de motores OCR

Los motores OCR (Tesseract, GOCR, Ocrad y Cuneiform) se detectan y configuran automáticamente en la mayoría de los sistemas la primera vez que se ejecuta OCRFeeder.

Si se instala un motor OCR después de de que OCRFeeder haya configurado un motor, no se configurará automáticamente pero, dependiendo del motor, los usuarios ir al diálogo Motores OCR y seleccionarlo en la lista de motores detectados después de pulsar en Detectar.

Los motores OCR ya configurados se deben detectar otra vez y es labor del usuario desmarcar estos motores. Si no se hace se añadirán otra vez.

# Configuración manual

Los motores OCR configurados actualmente se muestran en el diálogo Motores OCR, que se puede abrir desde Herramientas Motores OCR.

Además de ver los motores OCR configurados, el diálogo Motores OCR le permite añadir motores nuevos, editar o eliminar los motores actuales y detectar los motores instalados en el sistema.

Al añadir o editar un motor OCR (pulsando los botones Añadir o Editar, respectivamente), se muestra un diálogo con los siguientes campos:

Nombre: el nombre del motor. Este nombre se usará en toda la IU cuando se refiera al motor;

Formato de imagen: el formato de imagen que el motor reconoce (por ejemplo, TIF en el caso de Tesseract);

Texto de fallo: algunos motores reemplazan los caracteres no reconocidos por otros caracteres predefinidos (por ejemplo, _ en el caso de GOCR).

Ruta al motor: la ruta del sistema al ejecutable del motor (por ejemplo, /usr/bin/tesseract).

Argumentos del motor: los argumentos se toman de una imagen para el motor y que hacen que el texto reconocido se muestre por la salida estándar. OCRFeeder ejecuta el motor con estos argumentos como si estuviera en la línea de comandos y busca el texto reconocido en la salida estándar. Algunos motores como Ocrad y GOCRya hacen esto, mientras que Tesseract escribe el texto en un archivo.

Ya que siempre se añade la ruta de la imagen que leer, se proporciona un argumento $IMAGE especial para esto, que se reemplazará por la ruta de la imagen cuando se ejecuta el motor. En los casos en que se necesita un nombre de archivo, como el mencionado anteriormente, se proporciona un argumento $FILE especial que se reemplazará por un nombre de archivo temporal.

Por lo que, en el caso de Tesseract (que escribe el texto reconocido en un archivo), los argumentos deberían ser $IMAGE $FILE; cat $FILE.txt; rm $FILE.

La configuración de los motores se almacena en su propio archivo XML en la carpeta personal del usuario, en .config/ocrfeeder/engines/.