Comment lire dans les flux
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.
Comment lire dans les flux
- Télécharger une bibliothèque C# pour la lecture de flux
- Obtenir et préparer les données du flux d'images
- Transmettre le flux d'images à la fonction OcrImageInput constructeur pour importer l'image
- Utiliser le
Lire
méthode de reconnaissance optique des caractères (OCR) - Définir la zone de lecture en spécifiant la région de culture
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)
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)