Implementar OCR en un proyecto C#
El artículo de hoy discutirá cómo implementar OCR en un proyecto usando el lenguaje de programación C#.
Agregue el paquete de referencia NuGet
Para las operaciones de reconocimiento óptico de caracteres
u OCR, añadiremos el paquete IronOcr
. Para hacer eso, siga los pasos a continuación.
-
Abra
Visual Studio
, cree unaAplicación de consola
y asígnele un nombre. -
Haga clic derecho en el panel
Explorador de soluciones
y seleccioneAdministrar paquetes NuGet
. -
Ahora haz clic en la opción
Examinar
, buscaIronOcr
e instálalo.
Implementar OCR en C#
El siguiente ejemplo de la API de Tesseract 5 nos permitirá comprender mejor el OCR, un proceso que permite la conversión de datos de imágenes en texto.
Para comenzar, importe las siguientes bibliotecas:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IronOcr;
Primero, se debe crear un nuevo objeto para el Iron Tesseract
y darle el nombre ocrbyZeeshan
.
var ocrbyZeeshan = new IronTesseract();
Necesitamos construir un objeto para la variable OcrInput
, que nos permita agregar uno o más archivos de imagen.
using (var inputfile = new OcrInput()) {}
Estamos utilizando el método de objeto OcrInput
AddImage
. La función quiere que le demos la ruta de la imagen accesible.
using (var inputfile = new OcrInput()) {
inputfile.AddImage(@"Shani.png");
var Result = ocrbyZeeshan.Read(inputfile);
Console.WriteLine(Result.Text);
Console.ReadKey();
}
La imagen que usamos, llamada Shani.png
, se encuentra a continuación.
Código fuente completo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IronOcr;
namespace ImplementOCRbyZeeshan {
class Program {
static void Main(string[] args) {
var ocrbyZeeshan = new IronTesseract();
ocrbyZeeshan.Language = OcrLanguage.English;
ocrbyZeeshan.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var inputfile = new OcrInput()) {
inputfile.AddImage(@"Shani.png");
var Result = ocrbyZeeshan.Read(inputfile);
Console.WriteLine(Result.Text);
Console.ReadKey();
}
}
}
}
Producción :
My Name is Muhammad Zeeshan. Let's code.
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn