Cómo usar imágenes de entrada para procesamiento de OCR en C#

Cómo leer imágenes en C# con IronOCR

This article was translated from English: Does it need improvement?
Translated
View the article in English

OCR, o Reconocimiento Óptico de Caracteres, es una tecnología que se utiliza para reconocer y extraer texto de imágenes. Esta tecnología es particularmente útil para digitalizar documentos impresos, ya que te permite extraer y trabajar con el contenido textual de páginas escaneadas, fotografías u otros archivos de imagen.

IronOCR admite varios formatos de imagen, incluidos jpg, png, gif, tiff y bmp. También están disponibles filtros de imágenes para mejorar la capacidad de lectura.

Inicio Rápido: Leer un Archivo de Imagen con IronOCR

Usa IronOCR en solo una línea para extraer texto de una imagen. Este ejemplo muestra cómo con unos pocos pasos sencillos puedes cargar una imagen y leer su texto utilizando el método Read en IronTesseract para una configuración de OCR rápida.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronOCR con el gestor de paquetes NuGet

    PM > Install-Package IronOcr

  2. Copie y ejecute este fragmento de código.

    var result = new IronTesseract().Read(new OcrImageInput("Potter.png"));
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronOCR en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer


Ejemplo de lectura de imágenes

Comienza instanciando la clase IronTesseract para habilitar el OCR. Utiliza la declaración 'using' para crear un objeto OcrImageInput, especificando la ruta del archivo de imagen. Esto asegura la eliminación adecuada de los recursos cuando ya no son necesarios. IronOCR admite imágenes de entrada en varios formatos, incluidos jpg, png, gif, tiff y bmp. Finalmente, usa el método Read para realizar OCR.

@@--SOPORTE-i-ABIERTO--@@ A partir de la versión 2025.6:

  • La carga de imágenes TIFF ahora ofrece un rendimiento más rápido de manera consistente.
  • La lectura de imágenes TIFF muestra mejoras de rendimiento que dependen del GPU de la máquina. Algunos usuarios pueden experimentar hasta el doble de velocidad, mientras que otros pueden ver un rendimiento similar a las versiones anteriores @@--CIERRE DE SOPORTE--@@
:path=/static-assets/ocr/content-code-examples/how-to/input-images-read.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("Potter.png");

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("Potter.png")

' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
$vbLabelText   $csharpLabel
Leer imagen PNG

Visita el artículo Cómo Leer GIFs y TIFFs de Múltiples Marcos/Páginas para aprender más sobre la lectura de imágenes TIFF y GIF.

Importar imágenes como bytes

Aparte de la antigua ruta de archivo, la clase OcrImageInput también acepta información de imagen en forma de bytes, AnyBitmap, Stream, así como Imagen. AnyBitmap es un objeto bitmap de IronSoftware.Drawing.AnyBitmap.

:path=/static-assets/ocr/content-code-examples/how-to/input-images-import-byte.cs
using IronOcr;
using System.IO;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Read byte from file
byte[] data = File.ReadAllBytes("Potter.tiff");

// Import image byte
using var imageInput = new OcrImageInput(data);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports System.IO

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Read byte from file
Private data() As Byte = File.ReadAllBytes("Potter.tiff")

' Import image byte
Private imageInput = New OcrImageInput(data)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
$vbLabelText   $csharpLabel

Especifique la región de escaneado

También se acepta un CropRectangle al instanciar la clase OcrImageInput. Esto te permite especificar qué región del documento de imagen debe ser procesada por OCR. Dependiendo del documento de imagen, especificar la región a escanear puede mejorar significativamente el rendimiento. En el ejemplo de código a continuación, especificas que solo deben leerse el número y el título del capítulo.

:path=/static-assets/ocr/content-code-examples/how-to/input-images-read-specific-region.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Specify crop region
Rectangle scanRegion = new Rectangle(800, 200, 900, 400);

// Add image
using var imageInput = new OcrImageInput("Potter.tiff", ContentArea: scanRegion);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output the result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Specify crop region
Private scanRegion As New Rectangle(800, 200, 900, 400)

' Add image
Private imageInput = New OcrImageInput("Potter.tiff", ContentArea:= scanRegion)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Output the result to console
Console.WriteLine(ocrResult.Text)
$vbLabelText   $csharpLabel

Resultado OCR

Leer región específica

Preguntas Frecuentes

¿Cómo puedo realizar OCR en una imagen en .NET C#?

Puede realizar OCR en una imagen en .NET C# utilizando la biblioteca IronOCR. Comience descargando IronOCR desde NuGet, instancie la clase IronTesseract, y utilice la clase OcrImageInput para ingresar una imagen. Luego, aplique el método Read para extraer texto de la imagen.

¿Qué formatos de imagen se pueden procesar usando OCR en .NET?

IronOCR soporta varios formatos de imagen para el procesamiento de OCR, incluyendo jpg, png, gif, tiff y bmp. Esto permite una integración flexible con diferentes tipos de archivos de imagen.

¿Cómo puedo especificar un área específica de una imagen para OCR en C#?

En IronOCR, puedes definir un área específica de una imagen para ser procesada utilizando un CropRectangle al instanciar la clase OcrImageInput. Esto puede mejorar el rendimiento enfocando la operación OCR en una región particular.

¿Es posible leer imágenes desde un arreglo de bytes para OCR en C#?

Sí, IronOCR le permite ingresar imágenes como arreglos de bytes, AnyBitmap, Stream o Image. Esta flexibilidad le permite realizar OCR en datos de imagen disponibles en diferentes formatos.

¿Cómo puedo asegurar una gestión eficiente de memoria durante las operaciones de OCR en C#?

Para gestionar la memoria eficientemente durante las operaciones de OCR con IronOCR, use la declaración 'using' al crear un objeto OcrImageInput. Esto asegura que los recursos se liberen adecuadamente cuando ya no se necesiten.

¿Puedo procesar imágenes de múltiples cuadros o páginas para OCR en C#?

Sí, IronOCR admite la lectura de imágenes de múltiples cuadros o páginas, como GIFs y TIFFs. Esta capacidad le permite realizar OCR en archivos de imagen complejos que contienen múltiples cuadros o páginas.

¿Cómo puedo mejorar el reconocimiento de texto en OCR usando filtros de imagen?

IronOCR proporciona filtros de imagen que se pueden usar para mejorar las capacidades de reconocimiento de texto. Al aplicar estos filtros, puede mejorar la precisión y confiabilidad del proceso de OCR en varios formatos de imagen.

¿Cuáles son los beneficios de usar IronOCR para la lectura de imágenes en C#?

IronOCR ofrece varios beneficios para la lectura de imágenes en C#, incluyendo soporte para múltiples formatos de imagen, la capacidad de especificar regiones de escaneo, y la capacidad de ingresar imágenes como bytes o streams. Estas características permiten un procesamiento OCR eficiente y flexible en aplicaciones .NET.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
Revisado por
Jeff Fritz
Jeffrey T. Fritz
Gerente Principal de Programas - Equipo de la Comunidad .NET
Jeff también es Gerente Principal de Programas para los equipos de .NET y Visual Studio. Es el productor ejecutivo de la serie de conferencias virtuales .NET Conf y anfitrión de 'Fritz and Friends', una transmisión en vivo para desarrolladores que se emite dos veces a la semana donde habla sobre tecnología y escribe código junto con la audiencia. Jeff escribe talleres, presentaciones, y planifica contenido para los eventos de desarrolladores más importantes de Microsoft, incluyendo Microsoft Build, Microsoft Ignite, .NET Conf y la Cumbre de Microsoft MVP.
¿Listo para empezar?
Nuget Descargas 5,167,857 | Version: 2025.11 recién lanzado