Comment définir une région OCR spécifique d'une image en C#;

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

Pour extraire du texte d'une région spécifique d'une image en C#, utilisez l'objet Rectangle d'IronOcr pour définir la zone exacte en spécifiant les coordonnées x/y, width et height, puis transmettez-la à la méthode LoadImage pour un traitement OCR ciblé.

Démarrage rapide : extraction de texte à partir d'une région spécifique de l'image

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 IronOcr;
    using IronSoftware.Drawing;
    
    // 1. Install IronOCR via NuGet: Install-Package IronOcr
    var ocr = new IronTesseract();
    using var input = new OcrInput();
    
    // 2. Create a Rectangle with coordinates
    var region = new Rectangle(x: 215, y: 1250, width: 1335, height: 280);
    
    // 3. Load image with region
    input.LoadImage("image.png", region);
    
    // 4. Extract text
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
  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

Souvent, il suffit d'extraire du texte d'une petite partie d'une image, comme le montant total d'une facture ou un champ spécifique d'un formulaire. La numérisation de l'intégralité du document est inefficace et peut introduire des erreurs en capturant du texte non pertinent.

IronOCR vous permet d'améliorer la précision, les performances et l'exactitude en spécifiant la région rectangulaire exacte à scanner. Ce guide fournit une procédure pas à pas pour définir une région OCR spécifique, en extraire du texte et vérifier visuellement que vos coordonnées sont correctes pour vos tâches OCR.

Commencez avec IronOCR

Commencez à utiliser IronOCR dans votre projet aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer


Comment effectuer l'OCR sur une région spécifique ?

Pour définir une région OCR spécifique, vous créez un objet Rectangle à partir de l'espace de noms Iron Software.Drawing. Cet objet requiert quatre valeurs : les coordonnées x, y, la largeur et la hauteur, toutes exprimées en pixels. Les coordonnées (x, y) représentent le coin supérieur gauche de la zone souhaitée.

Lorsque vous chargez votre image à l'aide LoadImage , vous transmettez ce Rectangle comme deuxième paramètre. IronOCR limitera alors son processus OCR aux seuls pixels situés à l'intérieur de ce cadre de délimitation.

L'OCR régional est particulièrement utile pour travailler avec des documents structurés tels que factures, formulaires scannés, ou documents d'identité, où des informations spécifiques apparaissent toujours à des endroits prévisibles. En limitant l'OCR aux zones pertinentes, vous pouvez améliorer considérablement la vitesse de traitement et réduire les faux positifs provenant de textes sans rapport avec le sujet.

Pour trouver les coordonnées de votre Rectangle, vous pouvez utiliser un simple éditeur d'images comme MS Paint. Ouvrez votre image d'entrée, passez votre souris sur les coins supérieur gauche et inférieur droit de la région spécifiée et notez les coordonnées en pixels (x, y). Vous pouvez ensuite calculer les propriétés du rectangle : (x1, y1, largeur, hauteur), où largeur = x2-x1 et hauteur = y2-y1.

Quelle image dois-je utiliser pour les tests ?

Nous utiliserons une image d'exemple contenant trois paragraphes. Notre objectif est d'extraire uniquement le deuxième paragraphe et d'ignorer le reste du texte. Il s'agit d'un scénario courant dans lequel vous devez extraire des champs ou des sections spécifiques d'un document plus vaste.

Fenêtre de terminal affichant les résultats de l'OCR avec l'en-tête 'Hello World' et le texte extrait sur une librairie

Comment implémenter l'OCR régional dans le code?

La mise en œuvre consiste à créer un objet OcrInput et à charger votre image avec la région rectangulaire spécifiée. Cette approche fonctionne avec différents formats d'image, notamment JPG, PNG, GIF, TIFF et BMP.

:path=/static-assets/ocr/content-code-examples/how-to/ocr-region-of-an-image.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();

// Define the specific region as a Rectangle
// (x, y) is the top-left corner.
var ContentArea = new Rectangle(x: 215, y: 1250, width: 1335, height: 280);

ocrInput.LoadImage("region-input.png", ContentArea);

var ocrResult = ocrTesseract.Read(ocrInput);

// Print the extracted text
Console.WriteLine(ocrResult.Text);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Pour des scénarios plus complexes, vous pouvez définir plusieurs régions au sein d'une même image. Ceci est particulièrement utile lors du traitement de formulaires à champs multiples ou de tableaux dans des documents :

using IronOcr;
using IronSoftware.Drawing;

var ocr = new IronTesseract();
using var input = new OcrInput();

// Define multiple regions for different form fields
var nameField = new Rectangle(x: 100, y: 200, width: 300, height: 50);
var dateField = new Rectangle(x: 100, y: 300, width: 200, height: 50);
var amountField = new Rectangle(x: 400, y: 500, width: 150, height: 50);

// Load the same image multiple times with different regions
input.LoadImage("form.png", nameField);
var nameResult = ocr.Read(input);

input.Clear();
input.LoadImage("form.png", dateField);
var dateResult = ocr.Read(input);

input.Clear();
input.LoadImage("form.png", amountField);
var amountResult = ocr.Read(input);

// Process each field separately
Console.WriteLine($"Name: {nameResult.Text}");
Console.WriteLine($"Date: {dateResult.Text}");
Console.WriteLine($"Amount: {amountResult.Text}");
using IronOcr;
using IronSoftware.Drawing;

var ocr = new IronTesseract();
using var input = new OcrInput();

// Define multiple regions for different form fields
var nameField = new Rectangle(x: 100, y: 200, width: 300, height: 50);
var dateField = new Rectangle(x: 100, y: 300, width: 200, height: 50);
var amountField = new Rectangle(x: 400, y: 500, width: 150, height: 50);

// Load the same image multiple times with different regions
input.LoadImage("form.png", nameField);
var nameResult = ocr.Read(input);

input.Clear();
input.LoadImage("form.png", dateField);
var dateResult = ocr.Read(input);

input.Clear();
input.LoadImage("form.png", amountField);
var amountResult = ocr.Read(input);

// Process each field separately
Console.WriteLine($"Name: {nameResult.Text}");
Console.WriteLine($"Date: {dateResult.Text}");
Console.WriteLine($"Amount: {amountResult.Text}");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Quels résultats puis-je attendre ? Comme vous pouvez le constater dans la sortie de la console, seul le deuxième paragraphe est traité par l'OCR. Cette approche ciblée permet de s'assurer que le texte non pertinent provenant d'autres parties de l'image n'interfère pas avec vos résultats.
Sortie OCR
La précision de l'OCR régional dépend de plusieurs facteurs : - **Qualité de l'image** : Les images de haute résolution donnent généralement de meilleurs résultats. Pensez à utiliser [les paramètresDPI](https://ironsoftware.com/csharp/ocr/how-to/dpi-setting/) pour optimiser vos images. - **Orientation du texte** : veillez à ce que le texte soit correctement aligné. Utilisez [la détection de la rotation des pages](https://ironsoftware.com/csharp/ocr/how-to/detect-page-rotation/) si nécessaire. - **Contraste et clarté** : Appliquez des [filtres de correction d'image](https://ironsoftware.com/csharp/ocr/how-to/image-quality-correction/) pour améliorer la lisibilité du texte. ### Comment vérifier que mes coordonnées sont correctes? Pour vous assurer que vous avez sélectionné les coordonnées correctes pour l'image d'entrée, vous pouvez visualiser la **zone de contenu** que vous avez définie. Une façon simple de procéder consiste à dessiner le rectangle sur l'image d'entrée et à l'enregistrer comme un nouveau fichier avec `StampCropRectangleAndSaveAs` . Cela vous permet de déboguer et d'affiner les coordonnées pour des performances optimales. Cette technique de visualisation est particulièrement utile lorsque vous travaillez avec des [mises en page complexes](https://ironsoftware.com/csharp/ocr/examples/read-table-in-document/) ou lorsque vous devez [mettre en évidence des zones de texte spécifiques](https://ironsoftware.com/csharp/ocr/how-to/highlight-texts-as-images/) à des fins d'assurance qualité. Voici l'image résultante après avoir tracé le cadre de délimitation spécifié sur notre image d'entrée d'exemple ci-dessus. #### Comment visualiser la région sélectionnée? ```csharp :path=/static-assets/ocr/content-code-examples/how-to/ocr-region-of-an-image-highlighted.cs ``` #### À quoi ressemble la visualisation?
Sortie OCR mise en évidence
Le rectangle bleu clair confirme que nous avons correctement isolé le deuxième paragraphe pour traitement. ## Quand dois-je utiliser l'OCR régional ? L'OCR régional est idéal pour plusieurs scénarios courants : 1. **Traitement des formulaires** : Lorsqu'il s'agit d'extraire des champs spécifiques de formulaires standardisés où les données apparaissent à des emplacements cohérents. 2. **Traitement des factures** : pour extraire des valeurs spécifiques telles que des totaux, des dates ou des numéros de facture sans traiter l'ensemble du document. 3. **Plaques d'immatriculation** : Lorsque vous utilisez [la reconnaissance des plaques d'immatriculation](https://ironsoftware.com/csharp/ocr/how-to/read-license-plate/), concentrez-vous uniquement sur la zone de la plaque. 4. **Documents d'identité** : Extraire des champs spécifiques de [passports](https://ironsoftware.com/csharp/ocr/how-to/read-passport/) ou de cartes d'identité. 5. **Capture d'écran** : Lors de la capture de texte à partir d'éléments spécifiques de l'interface utilisateur dans des [captures d'écran](https://ironsoftware.com/csharp/ocr/how-to/read-screenshot/). ## Bonnes pratiques pour l'OCR régional Pour obtenir des résultats optimaux avec l'OCR régional : 1. **Add padding** : incluez une petite zone tampon autour de votre texte pour vous assurer qu'aucun caractère n'est coupé sur les bords. 2. **Tester avec des échantillons d'images** : Vérifiez toujours vos coordonnées à l'aide d'échantillons représentatifs avant de traiter des lots importants. 3. **Gérer les variations** : Tenez compte des légères variations de positionnement dans les documents numérisés en agrandissant légèrement vos régions. 4. **Optimiser les performances** : Pour [le traitement multithread](https://ironsoftware.com/csharp/ocr/how-to/async/), traitez différentes régions en parallèle. 5. **Surveiller la confiance** : Vérifiez les [notes de confiance des résultats](https://ironsoftware.com/csharp/ocr/how-to/tesseract-result-confidence/) pour vous assurer de leur exactitude. En concentrant le traitement OCR sur des régions spécifiques, vous pouvez améliorer de manière significative la vitesse et la précision de vos tâches d'extraction de texte. Cette approche ciblée est essentielle pour créer des flux de traitement de documents efficaces dans vos applications .NET.

Questions Fréquemment Posées

Comment extraire du texte d'une partie spécifique d'une image en C# ?

Avec IronOcr, vous pouvez extraire du texte d'une région spécifique en créant un objet Rectangle avec des coordonnées x/y, des valeurs de largeur et de hauteur. Transmettez ce rectangle en tant que deuxième paramètre de la méthode LoadImage, et IronOCR limitera son traitement OCR à la zone définie.

Quels sont les avantages de définir une région d'OCR au lieu de scanner l'ensemble de l'image ?

En définissant une région d'OCR spécifique avec IronOCR, vous pouvez améliorer la vitesse de traitement, augmenter la précision et réduire les erreurs dues à la capture de texte non pertinent. Ceci est particulièrement utile pour les documents structurés où les informations apparaissent à des endroits prévisibles.

De quels paramètres ai-je besoin pour créer un rectangle pour l'OCR régional ?

Pour créer un rectangle pour l'OCR régional d'IronOcr, vous avez besoin de quatre valeurs en pixels : la coordonnée x, la coordonnée y, la largeur et la hauteur. Les coordonnées (x, y) représentent le coin supérieur gauche de la zone de numérisation souhaitée.

Quel espace de noms contient l'objet Rectangle pour les régions OCR ?

L'objet Rectangle utilisé pour définir les régions d'OCR dans IronOcr se trouve dans l'espace de noms IronSoftware.Drawing.

Quels sont les types de documents qui bénéficient le plus du traitement OCR régional ?

La ROC régionale d'IronOcr est particulièrement efficace pour les documents structurés tels que les factures, les formulaires scannés et les documents d'identité où des informations spécifiques apparaissent systématiquement aux mêmes endroits.

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