Implementar OCR en un proyecto C#

Muhammad Zeeshan 12 octubre 2023
  1. Agregue el paquete de referencia NuGet
  2. Implementar OCR en C#
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 una Aplicación de consola y asígnele un nombre.
  • Haga clic derecho en el panel Explorador de soluciones y seleccione Administrar paquetes NuGet.
  • Ahora haz clic en la opción Examinar, busca IronOcr e instálalo.

    Instalar IronOcr

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.

Imagen de muestra

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.
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

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