Tesseract para C# una biblioteca que nos permite usar el popular OCR Tesseract desde una aplicación de .NET.
OCR Tesseract es una biblioteca de reconocimiento óptico de caracteres (OCR, por sus siglas en inglés) de código abierto, que nos permite extraer el texto disponible en imágenes como capturas de pantalla o textos escaneados.
OCR Tesseract fue desarrollado originalmente en HP Labs y liberado en 2006. Ahora es mantenido por Google y la comunidad Open Source.
Podemos usar Tesseract desde una aplicación en C# a través de un wrapper que permita emplear las funciones desde una aplicación en .NET.
Normalmente el OCR es un proceso que no suele dar buenos resultados. Sin embargo, Tesseract, sin ser completamente infalible, es la mejor librería que podemos encontrar para convertir imagen a texto.
Cómo usar OCR Tesseract
Podemos añadir la biblioteca a un proyecto de .NET fácilmente, a través del paquete Nuget correspondiente.
Install-Package H.InputSimulator
Por otro lado, necesitaremos descargar los datos entrenados para nuestro lenguaje desde este repositorio https://github.com/tesseract-ocr/tessdata/
A continuación ya podemos usar Tessertact. Para eso, creamos crear una instancia de la clase TesseractEngine, que se utilizará para procesar la imagen de texto. El constructor tiene dos parámetros la ruta a la carpeta que contiene los archivos de idioma de OCR Tesseract, y el idioma en el que está escrito el texto de la imagen.
El idioma deberá coincidir con uno de los conjuntos de datos que hemos descargado anteriormente, y que añadiremos como recurso a la solución.
using System.IO;
using Tesseract;
...
var engine = new TesseractEngine(@"C:\tessdata", "eng");
var image = Pix.LoadFromFile(@"C:\image.jpg");
var page = engine.Process(image);
var text = page.GetText();
File.WriteAllText(@"C:\output.txt", text);
Una vez creada la instancia de la clase TesseractEngine, se puede utilizar el método Process para procesar la imagen de texto.
OCR Tesseract es Open Source, y todo el código y documentación está disponible en el repositorio del proyecto en https://github.com/charlesw/tesseract