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.
Comience con IronOCR
Comience a usar IronOCR en su proyecto hoy con una prueba gratuita.
Cómo leer de Streams
- Descarga una biblioteca C# para leer desde flujos
- Obtener y preparar los datos del flujo de imágenes
- Pase el flujo de imagen al constructor de OcrImageInput para importar la imagen
- Utilice el método
Read
para realizar OCR - Define el área de lectura especificando la región de recorte
Ejemplo de flujos de lectura
Primero, instancie la clase IronTesseract para realizar OCR. Utilice el método FromFile
de AnyBitmap para importar el archivo de imagen. Este objeto AnyBitmap podrá convertir los datos de la imagen en un flujo. A continuación, usa la declaración 'using' para crear el objeto OcrImageInput pasando el flujo de imagen con el método GetStream
del objeto AnyBitmap. Finalmente, utiliza 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
