Cómo leer de Streams

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

por Chaknith Bin

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.

Primer Paso:
green arrow pointer



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)
VB   C#

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)
VB   C#

Resultado OCR

Leer región específica
Chaknith related to Resultado OCR

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.