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

Cómo leer secuencias en C# para OCR

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

Los datos de flujo se refieren a un flujo continuo de información binaria que puede ser leída o escrita. En el contexto de la programación y manejo de datos, los flujos se utilizan para procesar eficientemente datos que pueden ser demasiado grandes para caber completamente en memoria. Los flujos permiten que los datos se lean o se escriban en fragmentos más pequeños y manejables.

Los métodos de importación de IronOCR también aceptan flujos de datos de imágenes para ser importadas y leídas. Esto se puede hacer simplemente pasando los datos de flujo a uno de los métodos de importación. El método manejará todos los pasos necesarios para importar la imagen.

iniciar-rápidamente:2(Inicio Rápido: Usar un Flujo para Entrada de OCR en Segundos)

Este simple ejemplo muestra cómo empezar OCR inmediatamente alimentando un System.IO.Stream en IronOCR, permitiéndote omitir rutas de archivo e ir directamente al texto reconocido con mínima configuración y código.

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.

    using var input = new IronOcr.OcrInput(stream);
    var result = new IronOcr.IronTesseract().Read(input);
  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 secuencias

Primero, instanciar la clase IronTesseract para realizar OCR. Usar el método FromFile de AnyBitmap para importar el archivo de imagen. Este objeto AnyBitmap podrá convertir los datos de imagen en un flujo. Luego, usar la instrucción using para crear el objeto OcrImageInput pasando el flujo de imagen con el método GetStream del objeto AnyBitmap. Finalmente, usar el método Read para realizar OCR.

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

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

// Read image file to AnyBitmap
AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff");

// Import image stream
using var imageInput = new OcrImageInput(anyBitmap.GetStream());
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports IronSoftware.Drawing

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Read image file to AnyBitmap
Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff")

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

Especifique la región de escaneado

Para mejorar el rendimiento en imágenes grandes y obtener lecturas específicas de ciertas regiones, puedes utilizar la clase CropRectangle. El constructor OcrImageInput acepta un objeto CropRectangle como segundo parámetro. Esto te permite especificar qué región del documento de imagen debe ser leída. En el ejemplo de código a continuación, especifico que solo se debe leer la región del número de capítulo y título.

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

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

// Read image file to AnyBitmap
AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff");

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

// Add image
using var imageInput = new OcrImageInput(anyBitmap.GetStream(), 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()

' Read image file to AnyBitmap
Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff")

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

' Add image
Private imageInput = New OcrImageInput(anyBitmap.GetStream(), 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 leer streams de imágenes para procesar OCR en .NET C#?

En .NET C#, puedes utilizar los métodos de importación de IronOCR para leer streams de imágenes pasando los datos del stream al constructor OcrImageInput. Este método maneja eficientemente los datos de imagen para el procesamiento OCR.

¿Cuál es el beneficio de usar streams para OCR en IronOCR?

Usar streams permite a IronOCR procesar archivos grandes de imágenes eficientemente al manejar datos en trozos más pequeños y manejables. Este enfoque optimiza el uso de memoria y acelera el proceso OCR.

¿Cómo especifíco una región de una imagen para leerla con OCR en C#?

Para especificar una región de una imagen para OCR usando IronOCR, puedes usar la clase CropRectangle. Pasa esto como un parámetro al constructor OcrImageInput para centrarse en un área específica de la imagen.

¿Puede IronOCR manejar OCR de streams de imágenes en tiempo real?

Sí, IronOCR puede manejar OCR de streams de imágenes en tiempo real procesando continuamente los datos de imagen a medida que se reciben. Esta característica es beneficiosa para aplicaciones que requieren reconocimiento de texto inmediato.

¿Cómo puedo mejorar el rendimiento de OCR en imágenes grandes?

Para mejorar el rendimiento de OCR en imágenes grandes usando IronOCR, especifica una región de escaneo con la clase CropRectangle para limitar el procesamiento a áreas relevantes, reduciendo la cantidad de datos que necesita ser analizado.

¿Cuál es el papel del constructor OcrImageInput en IronOCR?

El constructor OcrImageInput en IronOCR se utiliza para importar streams de imágenes y definir opcionalmente una región específica de interés para el procesamiento OCR. Este simplifica el proceso de preparar imágenes para la extracción de texto.

¿Cómo funciona el método Read en IronOCR?

El método Read en IronOCR ejecuta el proceso de reconocimiento óptico de caracteres en el stream de imagen proporcionado. Extrae texto de los datos de imagen y devuelve los caracteres reconocidos.

Chaknith Bin
Ingeniero de Software
Chaknith trabaja en IronXL e IronBarcode. Tiene un profundo conocimiento en C# y .NET, ayudando a mejorar el software y apoyar a los clientes. Sus conocimientos derivados de las interacciones con los usuarios contribuyen a mejores productos, documentación y experiencia en general.
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