OCR es la sigla en inglés que significa Optical Character Recognition o en español: Reconocimiento óptico de caracteres, las técnicas para llevar a cabo esta dura tarea datan de 1933 y han facilitado muchísimas labores incluso ha acercado a personas con limitaciones visuales a la tecnología. Dichas técnicas han sido dominadas por empresas propietarias que dan excelentes resultados pero que lastimosamente atan al usuario a dichos productos sin muchas opciones.

Pero desde hace varios años existen dos soluciones dentro del mundo del Floss: Tesseract y Cuneiform. El primero originado como propietario en manos de Hewlett Packard y luego pasó a manos de Google y actualmente está licenciados como Apache License. Tesseract está hecho en C/C++ y es multiplataforma además que reconoce en un gran número de idiomas incluyendo idiomas que no se escriben de izquierda a derecha como los lenguajes occidentales. Por cierto un tesseract es la figura equivalente al cubo en un espacio de cuatro dimensiones.

Por el lado de Cuneiform. Empecemos por decir que su nombre se basa en lo que se cree que fue el primer tipo de escritura: La escritura cuneiforme. Cuneiform, fue desarrollado por Cognitives Techonologies y en un principio fue distribuido como freeware (Lo cual no es Floss), y posteriormente el kernel del motor fue liberado con la licencia BSD. Al igual que Tesseract está hecho en C/C++ y es multiplataforma.

Pero aquí aún le falta un detalle a todo esto, si usásemos los motores de reconocimiento por consola de comandos no podrían competir con sus pares propietarios, es ahí donde entran a jugar varias de las interfaces de usuario aunque hablaremos en esta ocasión de YAGF (Yet Another Graphic Frontend) algo así como todavía es otra interfaz gráfica. Se identifica con un par de ojos de reptil y además permite rotar entre los dos motores Cuneiform y Tesseract.

Yagf, permite hacer OCR sobre png, tiff, jpg, bmp y gif. También permite importar PDFs que el mismo convierte a imágenes y luego le aplica el motor de reconocimiento. Se puede hacer reconocimiento sobre zonas específicas y las imágenes se pueden obtener directamente del escáner. Para el caso de las distribuciones basadas en Debian hay que instalar Yagf, uno de los dos motores o los dos (Tesseract y Cuneiform) y la versión de los motores para su propio lenguaje.