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

Comment lire des flux de données en C# pour la reconnaissance optique de caractères (OCR)

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

Les données en flux continu désignent 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 tenir entièrement en mémoire. Les flux permettent de lire ou d'écrire des données par petits blocs faciles à gérer.

Les méthodes d'importation d'IronOCR acceptent également les flux de données d'images à importer et à lire. Cela peut se faire en passant simplement les données du flux à l'une des méthodes d'importation. Cette méthode se chargera de toutes les étapes nécessaires à l'importation de l'image.

Démarrage rapide : Utiliser un flux pour la saisie OCR en quelques secondes

Ce simple exemple montre comment démarrer immédiatement la reconnaissance optique de caractères (OCR) en alimentant IronOCR avec un flux System.IO.Stream, ce qui vous permet de passer outre les chemins de fichiers et d'accéder directement au texte reconnu avec une configuration et un code minimaux.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronOCR avec le gestionnaire de packages NuGet

    PM > Install-Package IronOcr

  2. Copiez et exécutez cet extrait de code.

    using var input = new IronOcr.OcrInput(stream);
    var result = new IronOcr.IronTesseract().Read(input);
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronOCR dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Exemple de lecture de flux

Commencez par instancier la classe IronTesseract pour effectuer la reconnaissance optique de caractères (OCR). Utilisez la méthode FromFile de AnyBitmap pour importer le fichier image. Cet objet AnyBitmap pourra 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 la reconnaissance optique de caractères (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 zone de numérisation

Pour améliorer les performances sur les grandes images et obtenir des mesures spécifiques de certaines régions, vous pouvez utiliser la classe CropRectangle . Le constructeur OcrImageInput accepte un objet CropRectangle comme deuxième 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 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,167,857 | Version: 2025.11 vient de sortir