Comment lire dans les flux

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

par Chaknith Bin

Les données en flux font référence à un flux continu d'informations binaires qui peuvent être lues ou écrites. Dans le contexte de la programmation et du traitement des données, les flux sont utilisés pour traiter efficacement des données qui peuvent être trop volumineuses pour être entièrement stockées en mémoire. Les flux permettent de lire ou d'écrire des données en morceaux plus petits et plus faciles à gérer.

Les méthodes d'importation d'IronOCR acceptent également des flux de données d'images à importer et à lire. Pour ce faire, il suffit de transmettre les données du flux à l'une des méthodes d'importation. La méthode prend en charge toutes les étapes nécessaires à l'importation de l'image.

Commencez avec IronOCR

Commencez à utiliser IronOCR dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer



Exemple de lecture de flux

Tout d'abord, instanciez la classe IronTesseract pour effectuer l'OCR. Utilisez la méthode FromFile de AnyBitmap pour importer le fichier image. Cet objet AnyBitmap sera capable de convertir les données de l'image en un flux. Ensuite, utilisez l'instruction "using" pour créer l'objet OcrImageInput en passant le flux d'images avec la méthode GetStream de l'objet AnyBitmap. Enfin, utilisez la méthode Read pour effectuer l'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#

Spécifier la région de balayage

Pour améliorer les performances sur les images de grande taille et obtenir des lectures spécifiques de certaines régions, vous pouvez utiliser la classe CropRectangle. Le constructeur d'OcrImageInput accepte un objet CropRectangle comme second paramètre. Cela vous permet de spécifier la région du document image qui doit être lue. Dans l'exemple de code ci-dessous, je spécifie que seuls le numéro de chapitre et la région du titre doivent être lus.

: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#

Résultat du ROC

Lire une région spécifique
Chaknith related to Résultat du ROC

Chaknith Bin

Ingénieur logiciel

Chaknith est le Sherlock Holmes des développeurs. C'est en s'amusant à relever des défis de code qu'il s'est rendu compte pour la première fois qu'il pourrait avoir un avenir dans le domaine de l'ingénierie logicielle. Il se concentre sur IronXL et IronBarcode, mais il est fier d'aider les clients avec chaque produit. Chaknith tire parti des connaissances qu'il a acquises en discutant directement avec les clients pour améliorer les produits eux-mêmes. Ses commentaires anecdotiques vont au-delà des tickets Jira et soutiennent le développement de produits, la documentation et le marketing, afin d'améliorer l'expérience globale des clients.Quand il n'est pas au bureau, on peut le trouver en train d'apprendre sur l'apprentissage automatique, le codage et la randonnée.