Cómo leer de Streams
Los datos de flujo se refieren a un flujo continuo de información binaria que puede leerse o escribirse. En el contexto de la programación y el tratamiento de datos, los flujos se utilizan para procesar eficazmente datos que pueden ser demasiado grandes para caber por completo en la memoria. Los flujos permiten leer o escribir datos en trozos más pequeños y manejables.
Los métodos de importación de IronOcr también aceptan flujos de datos de imágenes para su importación y lectura. Para ello, basta con pasar los datos del flujo a uno de los métodos de importación. El método se encargará de todos los pasos necesarios para importar la imagen.
Cómo leer de Streams
- Descargar una biblioteca de C# para la lectura de flujos
- Obtener y preparar los datos del flujo de imágenes
- Pasar el flujo de imágenes al OcrImageInput constructor para importar la imagen
- Utiliza el
Leer
método para realizar el OCR - Defina el área de lectura especificando la región de recorte
Instalar con NuGet
Install-Package IronOcr
Ejemplo de flujos de lectura
En primer lugar, instancie la clase IronTesseract para realizar el OCR. Utilice el método FromFile
de AnyBitmap para importar el archivo de imagen. Este objeto AnyBitmap será capaz de convertir los datos de la imagen en un flujo. A continuación, utilice la sentencia 'using' para crear el objeto OcrImageInput pasando el flujo de imagen con el método GetStream
del objeto AnyBitmap. Por último, utilice el método Read
para realizar el 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)
Especificar región de exploración
Para mejorar el rendimiento en imágenes de gran tamaño y obtener lecturas específicas de determinadas regiones, puede utilizar la clase CropRectangle. El constructor de OcrImageInput acepta un objeto CropRectangle como segundo parámetro. Permite especificar qué región del documento de imagen debe leerse. En el siguiente ejemplo de código, especifico que sólo se deben leer el número de capítulo y la región del 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)
Resultado OCR
![Leer región específica](/static-assets/ocr/how-to/input-images/read-specific-region.webp)