Tesseract OCR en Windows (Tutorial de ejemplo de código)
¿Qué es Tesseract OCR?
Tesseract es un motor de reconocimiento óptico de caracteres que se puede utilizar en una variedad de sistemas operativos. Es un software gratuito, liberado bajo la Licencia Apache. En esta guía, te llevaré a través de los pasos que seguí para instalar Tesseract en mi máquina con Windows 10. La versión principal 5 es la versión estable actual y comenzó con el lanzamiento 5.0.0 el 30 de noviembre de 2021.
Cómo usar Tesseract OCR en Windows
- Instalar Tesseract OCR en Windows 10 usando el archivo .exe
- Configurar la instalación de Tesseract
- Agregar ruta de instalación a las variables de entorno
- Ejecute Tesseract OCR para Windows en una imagen de prueba
- Utilice la biblioteca C# para obtener API más intuitivas y métodos avanzados en Windows
Paso 1: Instale Tesseract OCR en Windows 10 usando el archivo .exe:
Para instalar datos de idioma: sudo port install tesseract -<langcode> Una lista de códigos de idioma se encuentra en la página Homebrew de Tesseract de MacPorts. El primer paso para instalar Tesseract OCR en Windows es descargar el instalador .exe que corresponda al sistema operativo de tu máquina.
Paso 2: Configurar la instalación
A continuación, necesitaremos configurar la instalación de Tesseract. Si te sientes seguro y solo quieres ejecutar Tesseract OCR para Windows con el idioma predeterminado en inglés, avanzar en las pantallas de instalación con todas las opciones predeterminadas seleccionadas debería funcionar.
Idioma del instalador
Este es solo el idioma para los cuadros de diálogo y la información de ayuda. Si queremos, podemos ejecutar Tesseract OCR para Windows en varios idiomas:

Idioma del instalador para Tesseract OCR en Windows
Configuración de OCR de Tesseract
La pantalla de configuración recomienda que se cierren todas las demás aplicaciones antes de continuar con la instalación.

La pantalla de instalación de Tesseract OCR para Windows.
Elija la ubicación de instalación
A continuación, elegiremos la ubicación de la instalación. Antes de proceder al siguiente paso, asegúrate de copiar la ubicación de instalación a un archivo .txt. Necesitaremos agregar la ubicación de instalación a las variables de entorno de nuestra máquina una vez que la instalación esté completa.

Elegir la ubicación de la instalación.
Elegir componentes
Por defecto, están seleccionadas las opciones de ScrollView, Training Tools, creación de accesos directos y datos de idioma. A menos que tengas una razón específica para no instalar estos, querrás mantener todos estos seleccionados.

Componentes de instalación predeterminada de Tesseract OCR para Windows.
Si bajamos y expandimos los 'Datos adicionales de script', veremos que tenemos la opción de descargar e instalar datos adicionales de script. Esto puede ser útil para mejorar la precisión de la extracción de texto de ciertos lenguajes de script. Depende de ti si quieres instalar estos.

Componentes opcionales de instalación de script.
Seleccione la carpeta del menú Inicio
En el último paso de la instalación, se nos pedirá que elijamos la carpeta del menú de inicio para los accesos directos de Tesseract OCR para Windows. Dejé el mío configurado al nombre predeterminado: 'Tesseract-OCR'.

Elige la carpeta del menú de inicio para los accesos directos de Tesseract OCR en Windows.
Después de hacer clic en instalar, Tesseract OCR para Windows comenzará a instalarse. El siguiente paso es agregar la ruta de instalación a las variables de entorno de nuestra máquina.
Paso 3: Agregar la ruta de instalación a las variables de entorno
Panel de control
Para agregar la ubicación de instalación a nuestras variables de entorno, ve al menú de Inicio y busca 'variables de entorno'. Deberías ver un resultado para editar las variables de entorno del sistema. Si no lo ves, siempre puedes usar los siguientes pasos: Menú de inicio > Panel de control > Editar las variables de entorno del sistema.

Buscando 'variables de entorno'
Propiedades del sistema
Cuando se presente el cuadro de diálogo 'Propiedades del sistema', querrás asegurarte de que la pestaña Avanzado esté seleccionada, luego haz clic en el botón de Variables de entorno hacia la parte inferior derecha de la pantalla.

Variables de entorno
Bajo variables del sistema, haremos clic en el botón Editar.

Cuando se presente la pantalla de "Editar variable de entorno", haz clic en el botón Nuevo, y pega la ruta de instalación de Tesseract OCR que copiamos anteriormente en el Paso 2. Una vez que hayas hecho esto, haz clic en el botón 'OK'.
Agregar el directorio de instalación de Tesseract OCR para Windows a las variables de entorno

¡Eso es todo! Ahora que hemos ejecutado el instalador .exe y agregado la ubicación de instalación de Tesseract OCR en Windows a nuestras variables de entorno, podemos probar que nuestra instalación está funcionando ejecutando Tesseract en una imagen de prueba.
Paso 4: Ejecute Tesseract OCR para Windows en una imagen de prueba
Para probar que Tesseract OCR para Windows se instaló correctamente, abre el símbolo del sistema en tu máquina y luego ejecuta el comando Tesseract. Deberías ver un resultado con una explicación rápida de las opciones de uso de Tesseract.

Comprobando la instalación exitosa de Tesseract OCR en Windows
¡Felicitaciones! Has instalado correctamente Tesseract OCR en Windows en tu máquina.
Ventajas de utilizar IronOCR para realizar trabajos de OCR:
IronOCR provides Tesseract OCR on Mac, Windows, Linux, Azure and Docker for:
- .NET Framework 4.0 +
- .NET Standard 2.0 +
- .NET Core 2.0 +
- .NET 5
- Mono para macOS y Linux
- Xamarin para macOS
IronOCR lee texto, códigos de barras y códigos QR de todos los formatos de imagen y PDF principales utilizando el último motor Tesseract 5. Esta biblioteca agrega funcionalidad OCR a aplicaciones de escritorio, consola y web en minutos. Soporta 125+ idiomas internacionales. Licenses start from $799.
Paso 1: Instale la última versión de IronOCR
Instalar DLL
Download the IronOcr DLL directly to your machine.
Instalar NuGet
Alternativamente, puedes instalarlo a través de NuGet con el siguiente comando:
Install-Package IronOcr
Paso 2: Aplique su clave de licencia
Establezca su clave de licencia de IronOCR mediante código
Agrega este código al inicio de tu aplicación antes de que se use IronOCR.
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"Paso 3: Prueba tu clave
Prueba si tu clave ha sido instalada correctamente.
bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");Dim isValidLicense As Boolean = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01")Empezar con el proyecto
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}' PM > Install-Package IronOcr
' using IronOcr;
Dim Ocr = New IronTesseract()
' Set the recognition language to English
Ocr.Language = OcrLanguage.English
Using Input = New OcrInput()
' Add an example image to the OCR input
Input.Add("img\example.tiff")
' Optional: Clean the image before processing
' Input.DeNoise();
' Input.Deskew();
' Read the text from the image
Dim result As IronOcr.OcrResult = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
' Explore the OcrResult using IntelliSense
End Using¿Cómo utilizar Tesseract OCR en C# para .NET?
- Instalar Google Tesseract e IronOCR en .NET en Visual Studio
- Verificar las últimas compilaciones en C#
- Revisar precisión y compatibilidad de imagen
- Probar rendimiento y función de la API
- Considerar soporte multilingüe
Ejemplo de código para el uso de OCR .NET: Extraer texto de imágenes en C
Usa el Administrador de Paquetes de NuGet para instalar el Paquete NuGet de IronOCR en tu solución de Visual Studio.
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}' PM > Install-Package IronOcr
' using IronOcr;
Dim Ocr = New IronTesseract()
' Set the recognition language to English
Ocr.Language = OcrLanguage.English
Using Input = New OcrInput()
' Add an example image to the OCR input
Input.Add("img\example.tiff")
' Optional: Clean the image before processing
' Input.DeNoise();
' Input.Deskew();
' Read the text from the image
Dim result As IronOcr.OcrResult = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
' Explore the OcrResult using IntelliSense
End UsingIronOCR Tesseract para C
Con IronOCR, toda la instalación de Tesseract se realiza completamente mediante el Administrador de Paquetes NuGet.
Install-Package IronOcr
API de Tesseract 5 en IronOCR Tesseract
Hasta la fecha, IronTesseract es la única implementación conocida de Tesseract 5 para .NET Framework o Core.
// using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}// using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}' using IronOcr;
Dim Ocr = New IronTesseract() ' nothing to configure
Using Input = New OcrInput("images\image.png")
Dim result = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
End UsingAPI de Tesseract 4 en IronOCR Tesseract
// using IronOcr;
var Ocr = new IronTesseract();
// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}// using IronOcr;
var Ocr = new IronTesseract();
// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}' using IronOcr;
Dim Ocr = New IronTesseract()
' Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4
Using Input = New OcrInput("images\image.png")
Dim result = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
End UsingPor qué IronOCR es mejor que Tesseract:
EXACTITUD
TESSERACT:
Si Tesseract encuentra una imagen que está rotada, inclinada, tiene una baja DPI, está escaneada o tiene ruido de fondo, se hace casi imposible para Tesseract obtener datos de esa imagen. Además, Tesseract también tomará mucho tiempo en procesar ese documento antes de proporcionarte información sin sentido.
IRONOCR:
IronOCR elimina este dolor de cabeza. Los usuarios a menudo logran un 99.8-100% de precisión con una configuración mínima.
COMPATIBILIDAD DE IMÁGENES
TESSERACT:
Solo acepta el formato de imagen Leptonica PIX, que es un objeto IntPtr C++ en C#. Los objetos PIX no son memoria administrada, y una falla al manejarlos con cuidado en C# resulta en fugas de memoria.
IRONOCR:
Las imágenes tienen memoria gestionada. Soporta PDF & Tiff. Se incluye System.Drawing, Stream y Byte Array para cada formato de archivo.
Compatibilidad amplia de imagen:
- Documentos PDF
- Páginas PDF
- Archivos TIFF multiframe
- JPEG & JPEG2000
- GIF
- PNG
- System.Drawing.Image
- Datos de imagen binarios (byte [])
- Y muchos más...
ACTUACIÓN
TESSERACT:
Google Tesseract puede realizar resultados rápidos y precisos si está correctamente ajustado y las imágenes de entrada han sido preprocesadas utilizando Photoshop o ImageMagick.
IRONOCR:
El IronOcr .NET Tesseract DLL funciona con precisión y velocidad para la mayoría de las imágenes de inmediato. Hemos implementado multihilo para aprovechar los procesadores multinúcleo que la mayoría de las máquinas ahora utilizan. Incluso las imágenes de baja resolución generalmente funcionan con un alto grado de precisión en tu programa. No se requiere Photoshop.
API
TESSERACT:
Tenemos dos opciones gratuitas:
- Trabajar con capas de Interop, muchas de las que se encuentran en GitHub están desactualizadas, tienen tickets sin resolver, fugas de memoria y advertencias de consola. Puede que no soporte .NET Core o Standard.
- Trabajar con la línea de comandos EXE, difícil de implementar y constantemente interrumpido por los escáneres de virus y las políticas de seguridad.
IRONOCR:
Una biblioteca .NET gestionada y probada para Tesseract llamada IronTesseract.
Completamente documentado con soporte IntelliSense.
IDIOMA
TESSERACT:
Soporta solo 100 idiomas.
IRONOCR:
Soporta 125+ idiomas.
Conclusión
Tesseract es un recurso excelente para desarrolladores C++, pero no es una biblioteca OCR completa para .NET. Las imágenes escaneadas o fotografiadas necesitan ser procesadas para que sean ortogonales, estandarizadas, de alta resolución y libres de ruido digital antes de que Tesseract pueda trabajar con precisión con ellas.
En contraste, IronOCR puede hacer esto y más, con solo una línea de código. It is true that IronOCR uses Tesseract for its internal OCR engine, a very finely-tuned Tesseract, built for C#, with a lot of performance improvements and features added as standard.









