Comment utiliser les images d'entrée pour le traitement OCR en C#

How to Read from Streams

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

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 prendra en charge toutes les étapes nécessaires à l'importation de l'image.

Quickstart : Use a Stream for OCR Input in Seconds

Cet exemple simple montre comment démarrer l'OCR immédiatement en alimentant un System.IO.Stream dans IronOCR, ce qui vous permet de sauter les chemins de fichiers et de passer directement au texte reconnu avec un minimum de configuration et de code.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. Copy and run this code snippet.

    using var input = new IronOcr.OcrInput(stream);
    var result = new IronOcr.IronTesseract().Read(input);
  3. Deploy to test on your live environment

    Start using IronOCR in your project today with a free trial
    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 transmettant 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)
$vbLabelText   $csharpLabel

Spécifiez la région d'analyse

Pour améliorer les performances sur les grandes images et obtenir des lectures spécifiques de certaines régions, vous pouvez utiliser la classe CropRectangle. Le constructeur de l'OcrImageInput accepte un objet CropRectangle comme second paramètre. Cela vous permet de spécifier quelle région du document image doit être lue. Dans l'exemple de code ci-dessous, je précise 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)
$vbLabelText   $csharpLabel

Résultat de l'OCR

Lire la région spécifique

Questions Fréquemment Posées

Comment puis-je lire des flux d'images pour le traitement OCR dans .NET C# ?

Dans .NET C#, vous pouvez utiliser les méthodes d'importation de IronOCR pour lire les flux d'images en passant les données du flux au constructeur OcrImageInput. Cette méthode gère efficacement les données d'image pour le traitement OCR.

Quel est l'avantage d'utiliser des flux pour l'OCR dans IronOCR ?

L'utilisation de flux permet à IronOCR de traiter efficacement les fichiers d'images volumineux en traitant les données en morceaux plus petits et plus gérables. Cette approche optimise l'utilisation de la mémoire et accélère le processus OCR.

Comment puis-je spécifier une région d'une image à lire pour l'OCR en C# ?

Pour spécifier une région d'une image pour OCR avec IronOCR, vous pouvez utiliser la classe CropRectangle. Passez cela en paramètre au constructeur OcrImageInput pour vous concentrer sur une zone spécifique de l'image.

IronOCR peut-il gérer l'OCR en temps réel de flux d'images ?

Oui, IronOCR peut gérer l'OCR en temps réel de flux d'images en traitant continuellement les flux de données d'image au fur et à mesure qu'ils sont reçus. Cette fonctionnalité est avantageuse pour les applications nécessitant une reconnaissance immédiate du texte.

Comment puis-je améliorer la performance de l'OCR sur de grandes images ?

Pour améliorer la performance de l'OCR sur de grandes images avec IronOCR, spécifiez une région de scan avec la classe CropRectangle pour limiter le traitement aux zones pertinentes, réduisant ainsi la quantité de données à analyser.

Quel est le rôle du constructeur OcrImageInput dans IronOCR ?

Le constructeur OcrImageInput dans IronOCR est utilisé pour importer des flux d'images et, éventuellement, définir une région spécifique d'intérêt pour le traitement OCR. Il simplifie le processus de préparation des images pour l'extraction de texte.

Comment fonctionne la méthode Read dans IronOCR ?

La méthode Read dans IronOCR exécute le processus de reconnaissance optique de caractères sur le flux d'images fourni. Elle extrait le texte des données d'image et retourne les caractères reconnus.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Revu par
Jeff Fritz
Jeffrey T. Fritz
Responsable principal du programme - Équipe de la communauté .NET
Jeff est également responsable principal du programme pour les équipes .NET et Visual Studio. Il est le producteur exécutif de la série de conférences virtuelles .NET Conf et anime 'Fritz and Friends', une diffusion en direct pour développeurs qui est diffusée deux fois par semaine où il parle de technologie et écrit du code avec les téléspectateurs. Jeff écrit des ateliers, des présentations et prévoit du contenu pour les plus grands événements de développement Microsoft, y compris Microsoft Build, Microsoft Ignite, .NET Conf et le sommet Microsoft MVP
Prêt à commencer?
Nuget Téléchargements 5,044,537 | Version : 2025.11 vient de sortir