Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
El uso de bibliotecas como IronOCR y Tesseract permite a los desarrolladores acceder a algoritmos avanzados y técnicas de aprendizaje automático para extraer información textual de imágenes y documentos escaneados. Este tutorial mostrará a los lectores cómo utilizar la biblioteca Tesseract para realizar la extracción de texto de imágenes, y concluirá presentando el enfoque único de IronOCR.
Utilizando la consola del gestor de paquetes NuGet, introduzca el siguiente comando.
Install-Package Tesseract
O descargue el paquete a través del gestor de paquetes NuGet.
Instale el paquete Tesseract
en el gestor de paquetes NuGet.
Debe instalar y guardar manualmente los archivos de idioma en la carpeta del proyecto después de instalar el paquete NuGet. Esto puede considerarse una deficiencia de esta biblioteca específica.
Visitesitio web para descargar los archivos de idioma. Una vez descargados, descomprime los archivos y añade la carpeta "tessdata" a la carpeta de depuración de tu proyecto.
El OCR de una imagen dada puede realizarse utilizando el código fuente que se muestra a continuación:
using Tesseract;
var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
using Tesseract;
var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
Imports Tesseract
Private ocrEngine = New TesseractEngine("tessdata", "eng", EngineMode.Default)
Private img = Pix.LoadFromFile("Demo.png")
Private res = ocrEngine.Process(img)
Console.WriteLine(res.GetText())
Console.ReadKey()
Primero, se debe crear un objeto TerreractEngine
y cargar los datos del lenguaje en el Motor. A continuación, se carga el archivo de imagen deseado con la ayuda de Tesseract Pix. A continuación, esta imagen se pasa al TerreractEngine
para extraer el texto reconocido correcto mediante el método GetText
disponible en el TesseractEngine
. Este es el resultado del código.
**Texto extraído de la imagen
A partir de la versión 3.00, Tesseract admite formato de texto de salida, datos posicionales de OCR y análisis de diseño de página.
Tesseract está disponible en Windows, Linux y Mac OS X. Sin embargo, sólo se ha confirmado que Tesseract funciona como estaba previsto en Windows y Ubuntu, debido al limitado soporte de desarrollo.
Tesseract puede distinguir entre texto monoespaciado y texto con espaciado proporcional.
Utilizando un front-end como OCRopus, Tesseract es ideal para su uso como back-end y puede utilizarse para trabajos de OCR más exigentes, como el análisis de diseño.
Algunos de los defectos de Tesseract:
Las últimas versiones no se han diseñado para compilar en Windows
Para obtener más información sobre Tesseract en C#, visiteel tutorial de Tesseract.
Introduzca el siguiente comando en la consola de NuGet Package Manager.
Install-Package IronOcr
O instale la biblioteca IronOCR a través del gestor de paquetes NuGet, junto con paquetes adicionales para otros idiomas, que son sencillos y cómodos de usar.
Instale IronOcr y los paquetes de idiomas a través del Gestor de paquetes NuGet.
A continuación se muestra el código de ejemplo para reconocer el texto de la imagen dada.
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())
{
input.LoadImage(@"Demo.png");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
Console.ReadKey();
}
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())
{
input.LoadImage(@"Demo.png");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
Console.ReadKey();
}
Dim ocr = New IronTesseract()
ocr.Language = OcrLanguage.EnglishBest
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using input = New OcrInput()
input.LoadImage("Demo.png")
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
Console.ReadKey()
End Using
El código anterior crea una instanciaIronTesseract
objeto. Además, unOcrInput
para añadir uno o varios archivos de imagen, indicando la ruta del archivo local conCargarImagen
método. Puedes subir todas las fotos que quieras. La funcionalidadLeer
en el ObjetoIronTesseract
analizará el archivo de imagen y extraerá el resultado del OCR.
Salida de texto extraído utilizando la biblioteca IronOCR
IronOCR es una extensión de la biblioteca Tesseract, que introduce más estabilidad y mayor precisión.
IronOCR puede leer el contenido de texto dePDFs y fotos IronOCR también puede leer más de 20 tipos distintos decódigos de barras y códigos QR.
Los resultados pueden presentarse como texto sin formato, datos estructurados, códigos de barras o códigos QR.
La biblioteca reconoce127 idiomas en todo el mundo.
IronOCR funciona en todos los entornos .NET de forma flexible(consola, Web, escritorio, etc.)y también es compatible con los marcos móviles más recientes, como Mono, Xamarin,AzureyMAUI.
IronOCR ofrece unprueba gratuita y tiene una edición de desarrollo más económica. Aprendamás información sobre licencias.
Para un tutorial detallado de IronOCR, consulte este enlaceartículo para leer texto de una imagen en C#.
9 productos API .NET para sus documentos de oficina