Comment lire des photos en C# avec IronOCR

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

Lorsqu'il s'agit de traiter de grands volumes de documents, notamment des images numérisées comme les fichiers TIFF, l'extraction manuelle de texte peut s'avérer fastidieuse et sujette à l'erreur humaine. C'est là qu'intervient la reconnaissance optique de caractères (OCR), qui offre une méthode automatisée pour convertir avec précision le texte des images en données numériques. La technologie OCR peut gérer la complexité des images, telles que les documents numérisés ou les photographies, et les transformer en texte consultable et modifiable. Cela permet non seulement d'accélérer le traitement des documents, mais aussi d'assurer une extraction de données plus précise qu'avec une transcription manuelle.

L'utilisation de la reconnaissance optique de caractères (OCR) sur des formats comme le TIFF, qui peuvent être difficiles à lire en raison de leur taille, de leur profondeur de couleur ou de leur compression, permet aux entreprises et aux développeurs de numériser et de gérer rapidement de vastes quantités de données. Grâce à des solutions OCR comme la fonction ReadPhoto d'IronOCR, les développeurs peuvent extraire du texte à partir d'images et même effectuer des opérations avancées telles que la recherche de mots-clés ou la conversion de données numérisées en PDF consultables. Cette technologie est particulièrement utile pour les secteurs qui traitent des documents juridiques, des archives ou des reçus, où une récupération efficace des données est essentielle.

Dans ce tutoriel, nous présenterons brièvement les entrées et un exemple d'utilisation de ReadPhoto. Nous aborderons également les scénarios dans lesquels les développeurs pourraient préférer utiliser ReadPhoto plutôt que la fonction standard Read d'IronOCR.

Pour utiliser cette fonction, vous devez également installer le package IronOCR.Extension.AdvancedScan .

Démarrage rapide : Utiliser ReadPhoto pour extraire du texte à partir d'images complexes

Pour démarrer rapidement : utilisez la méthode ReadPhoto d'IronOCR sur un OcrInput chargé avec votre cadre d'image pour extraire tout le texte et toutes les régions en une seule fois. Il est optimisé pour les formats TIFF, GIF et autres formats similaires riches en photos, pour une expérience OCR fluide.

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.

    var result = new IronTesseract().ReadPhoto(new OcrInput().LoadImageFrame("photo.tiff", 0));
  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

Lire l'exemple de photos

La lecture des formats photo de haute qualité tels que tiff et gif est relativement simple avec IronOCR. Tout d'abord, nous créons une nouvelle variable et l'assignons comme OcrInput puis nous chargeons l'image à l'aide LoadImageFrame . Enfin, nous utilisons la méthode ReadPhoto et obtenons les résultats.

Veuillez noter

  • Étant donné que le format TIFF contient plusieurs images au sein d'une seule image, le paramètre PageNumber est nécessaire. De plus, l'indice commence à 0 et non à 1.
  • Cette méthode ne fonctionne actuellement que pour l'anglais, le chinois, le japonais, le coréen et l'alphabet latin.
  • L'utilisation de l'analyse avancée sur .NET Framework nécessite que le projet s'exécute sur une architecture x64.

Entrée

Étant donné que la plupart des navigateurs ne prennent pas en charge nativement le format TIFF, vous pouvez télécharger le fichier d'entrée TIFF ici . Pour afficher le fichier TIFF, je l'ai converti au format WEBP.

Input

Code

:path=/static-assets/ocr/content-code-examples/how-to/read-photo-read-photo.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputPhoto = new OcrInput();
inputPhoto.LoadImageFrame("ocr.tiff", 0);

// Read photo
OcrPhotoResult result = ocr.ReadPhoto(inputPhoto);

// Index number refer to region order in the page
int number = result.TextRegions[0].PageNumber;

// Extract the text in the first region
string textinregion = result.TextRegions[0].TextInRegion;

//Extract the co_ordinates of the first text region
Rectangle region = result.TextRegions[0].Region;

var output = $"Text in First Region: {textinregion}\n"
             + $"Text Region:\n"
             + $"Starting X: {region.X}\n"
             + $"Starting Y: {region.Y}\n"
             + $"Region Width: {region.Width}\n"
             + $"Region Height: {region.Height}\n"
             + $"Result Confidence: {result.Confidence}\n\n"
             + $"Full Scnned Photo Text: {result.Text}";

Console.WriteLine(output);
Imports Microsoft.VisualBasic
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Instantiate OCR engine
Private ocr = New IronTesseract()

Private inputPhoto = New OcrInput()
inputPhoto.LoadImageFrame("ocr.tiff", 0)

' Read photo
Dim result As OcrPhotoResult = ocr.ReadPhoto(inputPhoto)

' Index number refer to region order in the page
Dim number As Integer = result.TextRegions(0).PageNumber

' Extract the text in the first region
Dim textinregion As String = result.TextRegions(0).TextInRegion

'Extract the co_ordinates of the first text region
Dim region As Rectangle = result.TextRegions(0).Region

Dim output = $"Text in First Region: {textinregion}" & vbLf & $"Text Region:" & vbLf & $"Starting X: {region.X}" & vbLf & $"Starting Y: {region.Y}" & vbLf & $"Region Width: {region.Width}" & vbLf & $"Region Height: {region.Height}" & vbLf & $"Result Confidence: {result.Confidence}" & vbLf & vbLf & $"Full Scnned Photo Text: {result.Text}"

Console.WriteLine(output)
$vbLabelText   $csharpLabel

Sortie

output

Text : Le texte extrait de l'entrée OCR. Confidence : Une propriété " double " qui indique le niveau de confiance statistique de la moyenne de chaque caractère, 1 étant le niveau le plus élevé et 0 le plus bas. TextRegions : Liste des propriétés " TextRegions " indiquant où se trouve le texte OCR et son emplacement dans le texte d'entrée. Dans l'exemple ci-dessus, nous avons imprimé le numéro de la trame ainsi que le rectangle contenant le texte.


Différence entre ReadPhoto et Read

La principale différence entre la méthode ReadPhoto et la méthode Read standard réside dans l'objet résultat et le format de fichier qu'il utilise. La fonction LoadImageFrame n'accepte que les formats tiff et gif et ne prend pas en charge les formats comme jpeg pour plusieurs raisons.

Comparaison entre les images TIFF et JPEG

Le format de fichier TIFF est sans perte et est généralement utilisé pour condenser plusieurs pages et plusieurs images en un seul format. Il est généralement utilisé pour le stockage multi-images de haute qualité (par exemple, documents juridiques, images médicales). Il est beaucoup plus complexe que les formats JPEG standard et nécessite donc une méthode différente pour en extraire intégralement le texte.

De plus, les images TIFF utilisent une méthode de compression différente, IronOCR doit donc utiliser une méthode spécialisée pour déchiffrer le texte.

Voici une analyse plus détaillée entre les formats TIFF et JPEG à titre de comparaison.

Caractéristique TIFF (Tagged Image File Format) JPG/JPEG (Joint Photographic Experts Group)
Compression Sans perte ou non compressé (préserve la qualité) Compression avec perte (réduit la qualité pour une taille de fichier plus petite)
Taille du fichier Grand (en raison de sa haute qualité et de l'absence optionnelle de compression) Plus compact, optimisé pour le web et chargement rapide
Qualité de l'image Haute qualité (idéale pour un usage professionnel, conserve tous les détails) Inférieur (en raison de la compression avec perte, une partie de la qualité est sacrifiée)
Profondeur de couleur Prend en charge une profondeur de couleur élevée (jusqu'à 16 ou 32 bits par canal) Couleurs 24 bits (16,7 millions de couleurs)
Cas d'utilisation Photographie professionnelle, édition, numérisation, archivage Images web, réseaux sociaux, photos du quotidien
Transparence Prend en charge la transparence et les canaux alpha. Ne favorise pas la transparence
Édition Idéal pour de multiples modifications (aucune perte de qualité lors de la réenregistrement) La qualité se dégrade avec les modifications et les enregistrements répétés.
Compatibilité Largement pris en charge par les logiciels professionnels Prise en charge universelle sur toutes les plateformes et tous les appareils
Animation Ne prend pas en charge l'animation Ne prend pas en charge l'animation
Métadonnées Stocke des métadonnées exhaustives (EXIF, calques, etc.) Stocke les métadonnées EXIF, mais avec des limitations plus importantes.

Différents scénarios

Les développeurs devront prendre en compte chaque cas d'utilisation en production afin d'optimiser davantage leurs applications et de leur permettre de fonctionner efficacement. Bien que ReadPhoto soit adapté aux images complexes telles que TIFF comme ci-dessus, le traitement du résultat serait lent. En revanche, JPEG peut être de qualité inférieure, mais l'opération serait généralement plus rapide. Cependant, une mauvaise qualité d'image, notamment la présence de bruit, entraînerait un faible taux de confiance avec la reconnaissance optique de caractères (OCR).

L'utilisation de la propriété confidence dans OcrPhotoResults ou toute classe utilisant l'interface IOcrResult vous donnera une idée de la précision des résultats, permettant aux développeurs de tester, d'itérer et d'optimiser selon leurs besoins.

Les développeurs doivent trouver un juste équilibre entre efficacité et précision, en veillant à ce que les images atteignent un certain seuil de cohérence.

Questions Fréquemment Posées

Qu'est-ce que la méthode ReadPhoto en C# ?

La méthode ReadPhoto d'IronOCR pour C# est conçue pour extraire du texte à partir de formats d'image complexes comme TIFF et GIF, les convertissant en données numériques consultables à l'aide de la reconnaissance optique de caractères (OCR).

Pourquoi devrais-je utiliser ReadPhoto au lieu de la fonction Read standard ?

ReadPhoto est optimisé pour gérer les formats d'image complexes comme TIFF et GIF, nécessitant un traitement spécial en raison de leurs caractéristiques de compression et de qualité, ce qui le rend plus adapté à ces types d'images par rapport à la fonction Read standard.

Comment puis-je assurer une extraction de texte optimale en utilisant l'OCR en C# ?

Pour assurer une extraction de texte optimale avec l'OCR en C#, considérez la qualité et le format de l'image. L'utilisation de la méthode ReadPhoto d'IronOCR pour les formats complexes et de haute qualité comme TIFF peut améliorer la précision et l'efficacité.

Quels formats d'image la méthode ReadPhoto supporte-t-elle ?

La méthode ReadPhoto d'IronOCR supporte des formats d'image complexes tels que TIFF et GIF, qui sont idéaux pour des tâches d'extraction de texte de haute qualité.

Quels sont les avantages de la conversion de fichiers TIFF à l'aide d'OCR ?

La conversion des fichiers TIFF à l'aide de la méthode ReadPhoto de IronOCR permet la transformation d'images de haute qualité en données numériques consultables et éditables, ce qui est bénéfique pour la gestion et l'archivage de documents.

Comment la technologie OCR améliore-t-elle le traitement des documents ?

La technologie OCR automatise la conversion du texte à partir d'images en données numériques, augmentant considérablement la vitesse de traitement et la précision, notamment dans la gestion de grands volumes de documents.

Quels facteurs influencent le choix des méthodes de traitement d'image en OCR ?

Les facteurs influençant le choix incluent le format et la qualité de l'image, la vitesse de traitement et les exigences des cas d'utilisation spécifiques. ReadPhoto d'IronOCR est idéal pour les images complexes et de haute qualité, tandis que d'autres méthodes pourraient être plus efficaces pour des formats plus simples.

La méthode ReadPhoto d'IronOCR peut-elle être utilisée pour des images en couleur ?

Oui, la méthode ReadPhoto d'IronOCR peut traiter des images en couleur, notamment dans des formats comme TIFF et GIF, permettant une extraction précise du texte dans des documents en couleur.

Quel rôle joue la propriété 'confidence' dans les résultats de l'OCR ?

La propriété 'confidence' dans les résultats de l'OCR fournit une mesure statistique de l'exactitude de l'extraction de texte, aidant les développeurs à évaluer la fiabilité des données numérisées.

Comment les développeurs peuvent-ils utiliser les résultats OCR de ReadPhoto dans leurs applications ?

Les développeurs peuvent utiliser les résultats OCR de ReadPhoto d'IronOCR en accédant à la propriété OcrPhotoResult, qui inclut le texte extrait, les scores de confiance et les régions de texte, permettant un traitement ultérieur des données et une intégration dans les applications.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 5,167,857 | Version: 2025.11 vient de sortir