Comment lire des captures d'écran avec IronOCR en C#

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

La méthode ReadScreenshot d'IronOcr extrait efficacement du texte à partir de captures d'écran, en gérant diverses dimensions et des problèmes de bruit tout en prenant en charge les formats de fichiers courants, notamment PNG, JPG et BMP.

Les captures d'écran constituent un moyen rapide de partager des informations et de capturer des données essentielles. Cependant, l'extraction de texte à partir de captures d'écran s'est avérée difficile en raison des dimensions variables et du bruit. Les captures d'écran constituent donc un support difficile pour l'OCR.

IronOCR résout ce problème en fournissant des méthodes spécialisées telles que ReadScreenshot. Cette méthode est optimisée pour la lecture de captures d'écran et l'extraction d'informations à partir de celles-ci, tout en acceptant les formats de fichiers courants. Contrairement aux méthodes OCR standard, cette méthode applique des optimisations de prétraitement spécifiques adaptées au contenu des captures d'écran, notamment la réduction automatique du bruit et l'amélioration du contraste.

Pour utiliser cette fonction, installez le paquet IronOcr.Extension.AdvancedScan. Cette extension offre des fonctionnalités avancées de vision par ordinateur qui améliorent la précision de la reconnaissance du texte des captures d'écran, en particulier pour les éléments de l'interface utilisateur, les polices du système et le texte anticrénelé dans les applications modernes.

Démarrage rapide : Lire du texte à partir d'une capture d'écran

Commencez en quelques secondes en utilisant ReadScreenshot d'IronOcr - chargez votre capture d'écran dans un OcrInput, appelez ReadScreenShot, et accédez immédiatement au texte extrait, au score de confiance et aux régions de texte via le OcrPhotoResult. C'est le moyen le plus rapide de transformer des images en texte utilisable avec un minimum d'installation.

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.

    OcrPhotoResult result = new IronTesseract().ReadScreenShot(new OcrInput().LoadImage("screenshot.png"));
  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

Ce guide montre comment utiliser IronOCR pour la reconnaissance de texte de capture d'écran, en parcourant des exemples et les propriétés de l'objet résultat. Nous explorerons des scénarios avancés tels que le traitement de régions spécifiques, la gestion de contenus multilingues et l'optimisation des performances pour le traitement par lots.

Comment extraire du texte à partir de captures d'écran à l'aide de ReadScreenshot?

Pour lire une capture d'écran dans IronOCR, utilisez la méthode ReadScreenshot, qui prend un OcrInput comme paramètre. Cette méthode est mieux optimisée pour les captures d'écran que la méthode Read standard de la bibliothèque. L'optimisation comprend la détection automatique des éléments de l'interface utilisateur, une meilleure gestion des polices anticrénelées et une meilleure reconnaissance des polices système sur les différents systèmes d'exploitation.

[{i:(

  • Cette méthode fonctionne actuellement pour des langues telles que l'anglais, le chinois, le japonais, le coréen et les alphabets à base latine.
  • L'utilisation de l'analyse avancée sur .NET Framework nécessite que le projet s'exécute sur une architecture x64.

@@--BRACKET-FERMETURE--@@

Quels types de captures d'écran conviennent le mieux ? Voici notre entrée pour l'exemple de code ; nous démontrons la polyvalence de cette méthode en mélangeant différentes polices et tailles de texte. La méthode `ReadScreenshot` permet de reconnaître : - Polices de l'interface utilisateur du système (Windows, macOS, Linux) - Texte anticrénelé provenant d'applications modernes - Tailles et styles de police variés - Texte superposé sur des arrière-plans complexes - Captures d'écran de la console et du terminal - Contenu du navigateur avec différentes polices web Pour des résultats optimaux, effectuez des captures d'écran en résolution native, sans compression. La méthode prend en charge [différents formats d'image](https://ironsoftware.com/csharp/ocr/how-to/input-images/), mais c'est le format PNG qui préserve le mieux la clarté du texte grâce à sa compression sans perte. ![Page d'accueil de la bibliothèque C# OCR d'IronOCR montrant la compatibilité avec les plateformes et les principales fonctionnalités pour la reconnaissance de texte](/static-assets/ocr/how-to/read-screenshot/input.webp) ### Comment implémenter la méthode ReadScreenshot? ```csharp :path=/static-assets/ocr/content-code-examples/how-to/read-screenshot-read-screenshot.cs ``` Pour les scénarios complexes, améliorez le processus de lecture des captures d'écran en effectuant un prétraitement supplémentaire : ```csharp using IronOcr; using System; // Configure OCR engine with specific settings for screenshots var ocr = new IronTesseract() { // Set language for better accuracy with non-English content Language = OcrLanguage.English, // Configure for screen-resolution images Configuration = new TesseractConfiguration() { PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd, // Enable whitelist for specific characters if needed WhiteListCharacters = null } }; using var inputScreenshot = new OcrInput(); // Load screenshot with specific DPI setting for consistency inputScreenshot.LoadImage("screenshotOCR.png", 96); // Standard screen DPI // Apply preprocessing for better accuracy inputScreenshot.DeNoise(); // Remove screenshot artifacts inputScreenshot.Sharpen(); // Enhance text edges // Perform OCR with error handling try { OcrPhotoResult result = ocr.ReadScreenShot(inputScreenshot); // Process results with confidence threshold if (result.Confidence > 0.8) { Console.WriteLine($"High confidence text extraction: {result.Text}"); } else { Console.WriteLine("Low confidence - consider image preprocessing"); } } catch (Exception ex) { Console.WriteLine($"OCR Error: {ex.Message}"); } ``` ### Quelles sont les propriétés retournées par OcrPhotoResult? [Débogueur Visual Studio montrant les détails de la bibliothèque IronOCR avec la version 2024.9 et le score de précision 0.937](/static-assets/ocr/how-to/read-screenshot/output.webp) La sortie de la console montre l'extraction de toutes les instances de texte de la capture d'écran. Explorons les propriétés de `OcrPhotoResult` et comment les exploiter efficacement : - **`Text`** : Le texte extrait de l'entrée OCR. Cette propriété contient tout le texte reconnu sous la forme d'une chaîne unique, en préservant la mise en page d'origine avec les sauts de ligne et l'espacement. - **`Confiance`** : Propriété double indiquant la confiance dans la précision statistique sur une échelle de 0 à 1, où 1 représente la confiance la plus élevée. Utilisez ceci pour mettre en place un contrôle de qualité dans votre application. - **`TextRegion`** : Un tableau d'objets `TextRegion` contenant des propriétés qui renvoient aux zones où se trouve le texte sur la capture d'écran. Par défaut, toutes les `TextRegion` sont des classes `Rectangle` dérivées des modèles IronOcr. Elle comprend les coordonnées x et y plus la hauteur et la largeur du rectangle. Travailler avec TextRegions vous permet de : - Extraire du texte à partir de zones spécifiques de la capture d'écran - Identifier l'emplacement des éléments de l'interface utilisateur - Créer des superpositions cliquables en fonction de la position du texte - Mettre en œuvre [le traitement OCR spécifique à la région](https://ironsoftware.com/csharp/ocr/how-to/ocr-region-of-an-image/) Voici un exemple de traitement de zones de texte individuelles : ```csharp using IronOcr; using System; using System.Linq; var ocr = new IronTesseract(); using var input = new OcrInput(); input.LoadImage("screenshot.png"); OcrPhotoResult result = ocr.ReadScreenShot(input); // Process each text region individually foreach (var region in result.TextRegions) { Console.WriteLine($"Text: {region.Text}"); Console.WriteLine($"Location: X={region.Region.X}, Y={region.Region.Y}"); Console.WriteLine($"Size: {region.Region.Width}x{region.Region.Height}"); Console.WriteLine($"Confidence: {region.Confidence:P2}"); Console.WriteLine("---"); } // Find specific UI elements by text content var buttonRegion = result.TextRegions .FirstOrDefault(r => r.Text.Contains("Submit", StringComparison.OrdinalIgnoreCase)); if (buttonRegion != null) { Console.WriteLine($"Found button at: {buttonRegion.Region.X}, {buttonRegion.Region.Y}"); } ``` ## Techniques avancées de traitement des captures d'écran ### Gestion des captures d'écran multilingues Lorsque vous travaillez avec des captures d'écran contenant plusieurs langues, IronOcr fournit une [prise en charge multilingue robuste](https://ironsoftware.com/csharp/ocr/how-to/ocr-multiple-languages/). Elle est utile pour les applications internationales ou les captures d'écran d'interfaces utilisateur multilingues : ```csharp using IronOcr; // Configure for multiple languages var ocr = new IronTesseract(); ocr.AddSecondaryLanguage(OcrLanguage.ChineseSimplified); ocr.AddSecondaryLanguage(OcrLanguage.Japanese); using var input = new OcrInput(); input.LoadImage("multilingual-screenshot.png"); // Process with language detection OcrPhotoResult result = ocr.ReadScreenShot(input); Console.WriteLine($"Extracted multilingual text: {result.Text}"); ``` ### Optimisation des performances pour le traitement par lots Lorsque vous traitez plusieurs captures d'écran, mettez en œuvre les stratégies d'optimisation suivantes : ```csharp using IronOcr; using System.Collections.Generic; using System.Threading.Tasks; public async Task ProcessScreenshotBatchAsync(List screenshotPaths) { var ocr = new IronTesseract(); // Process screenshots in parallel for better performance var tasks = screenshotPaths.Select(async path => { using var input = new OcrInput(); input.LoadImage(path); // Apply consistent preprocessing input.DeNoise(); var result = await Task.Run(() => ocr.ReadScreenShot(input)); return new { Path = path, Result = result }; }); var results = await Task.WhenAll(tasks); // Process results foreach (var item in results) { Console.WriteLine($"File: {item.Path}"); Console.WriteLine($"Text: {item.Result.Text}"); Console.WriteLine($"Confidence: {item.Result.Confidence:P2}"); } } ``` ## Bonnes pratiques pour l'OCR de captures d'écran 1. : Capture d'écran à la résolution native sans mise à l'échelle 2. **Sélection du format** : Utiliser le format PNG pour une préservation de la qualité sans perte 3. **Prétraitement** : Appliquer les filtres appropriés en fonction du contenu de la capture d'écran 4. **Sujets de confiance** : mise en œuvre d'une validation basée sur la confiance pour les applications critiques 5. **Suivi de l'avancement** : Pour les opérations de longue durée, mettez en place un [suivi de l'avancement](https://ironsoftware.com/csharp/ocr/how-to/progress-tracking/) ## Cas d'utilisation courants La méthode `ReadScreenshot` est idéale pour : - Tests et vérifications automatisés de l'interface utilisateur - Systèmes de gestion des actifs numériques - Outils d'assistance à la clientèle pour la saisie des messages d'erreur - Automatisation de la documentation - Outils d'accessibilité pour les lecteurs d'écran - Applications de jeux et de streaming ## Intégration avec les fonctionnalités d'IronOCR La capacité de lecture des captures d'écran s'intègre parfaitement aux autres fonctionnalités d'IronOCR. Explorez la [manipulation des résultats de l'OCR](https://ironsoftware.com/csharp/ocr/features/ocr-results/) complète pour exporter des données dans différents formats, ou plongez dans la [configuration avancée de Tesseract](https://ironsoftware.com/csharp/ocr/tutorials/c-sharp-tesseract-ocr/) pour affiner la précision de la reconnaissance. ## Résumé La méthode `ReadScreenshot` d'IronOcr fournit une solution puissante et optimisée pour l'extraction de texte à partir de captures d'écran. Grâce à un prétraitement spécialisé, une grande précision et des données de résultats complètes, il permet aux développeurs de créer des applications robustes qui traitent de manière fiable le contenu des captures d'écran. Qu'il s'agisse de créer des outils d'automatisation, des solutions d'accessibilité ou des systèmes d'extraction de données, la méthode `ReadScreenshot` offre les performances et la précision nécessaires aux environnements de production.

Questions Fréquemment Posées

Pourquoi l'extraction OCR à partir de captures d'écran est-elle un défi ?

Les captures d'écran présentent des défis uniques pour l'OCR en raison des dimensions variables et des niveaux de bruit. IronOCR résout ces problèmes grâce à sa méthode spécialisée ReadScreenshot, qui applique une réduction automatique du bruit et une amélioration du contraste spécifiquement optimisées pour le contenu des captures d'écran.

Quels sont les formats de fichiers pris en charge pour l'OCR de captures d'écran ?

La méthode ReadScreenshot d'IronOcr prend en charge les formats de fichiers d'image courants, notamment PNG, JPG et BMP, ce qui la rend compatible avec la plupart des outils et applications de capture d'écran.

En quoi la méthode ReadScreenshot diffère-t-elle des méthodes OCR standard ?

Contrairement aux méthodes d'OCR standard dans IronOcr, la méthode ReadScreenshot applique des optimisations de prétraitement spécifiques adaptées au contenu des captures d'écran, notamment la réduction automatique du bruit, l'amélioration du contraste et une meilleure gestion des polices anticrénelées et des éléments de l'interface utilisateur.

Quel est le package supplémentaire requis pour la fonctionnalité OCR des captures d'écran ?

Pour utiliser la fonction ReadScreenshot dans IronOCR, vous devez installer le package IronOcr.Extension.AdvancedScan, qui fournit des fonctionnalités avancées de vision par ordinateur qui améliorent la précision de la reconnaissance de texte des captures d'écran.

En combien de temps puis-je commencer à extraire du texte à partir de captures d'écran ?

Avec IronOCR, vous pouvez extraire du texte à partir de captures d'écran en quelques secondes en chargeant votre capture d'écran dans un OcrInput, en appelant ReadScreenShot et en accédant immédiatement au texte extrait, au score de confiance et aux régions de texte via l'OcrPhotoResult.

Pour quels types de contenu l'OCR de capture d'écran est-elle optimisée ?

L'optimisation des captures d'écran d'IronOcr comprend la détection automatique des éléments de l'interface utilisateur, une meilleure reconnaissance des polices système sur les différents systèmes d'exploitation et une meilleure gestion du texte anticrénelé que l'on trouve couramment dans les applications modernes.

Puis-je traiter des parties spécifiques d'une capture d'écran ?

Oui, IronOcr prend en charge le traitement de régions spécifiques de captures d'écran, ce qui vous permet de cibler des zones d'intérêt particulières plutôt que de traiter l'ensemble de l'image, ce qui peut améliorer les performances et la précision.

Le contenu multilingue est-il pris en charge dans l'OCR de captures d'écran ?

La méthode ReadScreenshot d'IronOcr peut gérer le contenu multilingue des captures d'écran, ce qui la rend adaptée aux applications internationales et aux interfaces utilisateur multilingues.

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,246,844 | Version : 2025.12 vient de sortir