Comment corriger les couleurs des images pour la lecture en C

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

La correction des couleurs d'une image fait appel à plusieurs techniques pour améliorer sa lisibilité et sa qualité. IronOcr propose des méthodes de binarisation, de mise en niveaux de gris, d'inversion et de remplacement des couleurs pour rendre le texte et le contenu d'une image plus lisibles et esthétiquement agréables, ce qui est particulièrement important lors de l'utilisation de la reconnaissance optique de caractères (OCR) pour extraire du texte des images. Il est également possible de lire uniquement le texte de la couleur sélectionnée.

Démarrage rapide : Isoler des couleurs de texte spécifiques en une seule étape

Utilisez la méthode SelectTextColor d'IronOCR pour concentrer la reconnaissance optique de caractères (OCR) uniquement sur la couleur du texte qui vous intéresse, sans manipulation d'image complexe. En une seule ligne, vous pouvez charger une image, choisir la couleur et la tolérance du texte, puis extraire uniquement ce texte pour obtenir des résultats OCR précis.

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.

    new IronTesseract().Read(new IronOcr.OcrImageInput("sample.jpg").SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60));
  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 binarisation d'image

Ce procédé convertit l'image en un format bicolore, généralement noir et blanc. Il est utile pour détacher le texte du fond et réduire le bruit, rendant ainsi le texte plus net et plus facile à lire.

Pour appliquer l'effet de binarisation à l'image, utilisez la méthode Binarize . Étant donné que les processus OCR fonctionnent mieux avec une image à contraste élevé, présentant du texte noir sur fond blanc, cette méthode s'avère importante pour rendre le fond très distinct des caractères.

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-binarize-image.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply binarize affect
imageInput.Binarize();

// Export the modified image
imageInput.SaveAsImages("binarize.jpg");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Apply binarize affect
imageInput.Binarize()

' Export the modified image
imageInput.SaveAsImages("binarize.jpg")
$vbLabelText   $csharpLabel

Pour plus de facilité, vous pouvez exporter l'image modifiée à l'aide de la méthode SaveAsImages . Vous trouverez ci-dessous une comparaison de l'image avant et après binarisation.

Sample image
Binarized image

Exemple d'image en niveaux de gris

Convertir l'image en différentes nuances de gris peut la rendre moins distrayante et plus facile à lire. Ceci est particulièrement utile lorsque les couleurs d'origine de l'image provoquent une surcharge visuelle.

Pour appliquer l'effet de niveaux de gris à l'image, utilisez la méthode ToGrayScale . Le processus de conversion en niveaux de gris consiste à calculer la moyenne des valeurs R, G et B.

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-grayscale-image.cs
// Apply grayscale affect
imageInput.ToGrayScale();
' Apply grayscale affect
imageInput.ToGrayScale()
$vbLabelText   $csharpLabel
Sample image
Grayscaled image

Exemple d'inversion d'image

Inverser les couleurs permet d'améliorer le contraste. Par exemple, transformer un texte blanc sur fond noir en texte noir sur fond blanc améliore la lisibilité.

Utilisez la méthode Invert pour inverser la couleur de l'image. Cette méthode accepte en option une valeur booléenne, qui permet de supprimer tous les canaux de couleur et de renvoyer une image en niveaux de gris.

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-invert-image.cs
// Apply invert affect
imageInput.Invert();
' Apply invert affect
imageInput.Invert()
$vbLabelText   $csharpLabel

Les images ci-dessous illustrent la méthode Inverser avec et sans l'option niveaux de gris.

Inversé image
Inversé and grayscaled image

Exemple de remplacement de couleur

Cette technique permet de remplacer certaines couleurs de l'image par d'autres couleurs, ce qui peut aider à mettre en valeur ou à atténuer certains éléments. Il est souvent utilisé pour mettre en valeur un texte ou pour corriger des contrastes de couleurs problématiques.

Pour utiliser la méthode ReplaceColor , spécifiez la couleur actuelle à remplacer ainsi que la nouvelle couleur. Le troisième paramètre de la méthode, qui correspond à la valeur de tolérance, est également important. Une tolérance plus élevée est nécessaire pour les images floues afin d'obtenir le résultat souhaité.

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-replace-color.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
IronSoftware.Drawing.Color currentColor = new IronSoftware.Drawing.Color("#DB645C");
IronSoftware.Drawing.Color newColor = IronSoftware.Drawing.Color.DarkCyan;

// Replace color
imageInput.ReplaceColor(currentColor, newColor, 80);

// Export the modified image
imageInput.SaveAsImages("replaceColor");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
Private currentColor As New IronSoftware.Drawing.Color("#DB645C")
Private newColor As IronSoftware.Drawing.Color = IronSoftware.Drawing.Color.DarkCyan

' Replace color
imageInput.ReplaceColor(currentColor, newColor, 80)

' Export the modified image
imageInput.SaveAsImages("replaceColor")
$vbLabelText   $csharpLabel
Sample image
Replaced color image

Lire un exemple de couleur de texte spécifique

Cette fonctionnalité permet de lire uniquement le texte de la couleur spécifiée. Utilisez la méthode SelectTextColor pour spécifier la couleur sur laquelle IronOcr doit se concentrer, ainsi que la valeur de tolérance. La valeur de tolérance accepte une plage de 0 à 255, ce qui représente la différence admissible entre la couleur du pixel et la couleur sélectionnée pour chaque valeur R, G et B dans l'espace colorimétrique.

:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-select-text-color.cs
using IronOcr;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Text color to focus on
IronSoftware.Drawing.Color focusColor = new IronSoftware.Drawing.Color("#DB645C");

// Specify which text color to read
imageInput.SelectTextColor(focusColor, 60);

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Text color to focus on
Private focusColor As New IronSoftware.Drawing.Color("#DB645C")

' Specify which text color to read
imageInput.SelectTextColor(focusColor, 60)

' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Output result to console
Console.WriteLine(ocrResult.Text)
$vbLabelText   $csharpLabel

Vous trouverez ci-dessous le résultat de la reconnaissance optique de caractères (OCR), qui est conçue pour lire uniquement le texte de couleur orangée.

Résultat de la reconnaissance optique de caractères (OCR)

PDF consultables

En plus de proposer des options de filtrage d'images, IronOcr permet aux développeurs d'enregistrer les PDF modifiés avec ou sans ces filtres appliqués. La méthode SaveAsSearchablePdf inclut un indicateur booléen comme deuxième paramètre, qui permet aux utilisateurs de spécifier si les filtres doivent être activés ou désactivés pour enregistrer le PDF.

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-searchable-pdf.cs
using IronOcr;

var ocr = new IronTesseract();
var ocrInput = new OcrInput();

// Load a PDF file
ocrInput.LoadPdf("invoice.pdf");

// Apply gray scale filter
ocrInput.ToGrayScale();
OcrResult result = ocr.Read(ocrInput);

// Save the result as a searchable PDF with filters applied
result.SaveAsSearchablePdf("outputGrayscale.pdf", true);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Questions Fréquemment Posées

Comment puis-je améliorer les couleurs d'image pour l'OCR en .NET C#?

Vous pouvez améliorer les couleurs d'image pour l'OCR en .NET C# en utilisant IronOCR. Commencez par télécharger la bibliothèque IronOCR depuis NuGet, importez l'image et appliquez des techniques de correction de couleur comme la binarisation, le niveau de gris et l'inversion pour améliorer la lisibilité du texte.

Quel est le rôle de la binarisation dans la correction des couleurs d'image?

La binarisation dans la correction des couleurs d'image convertit une image dans un format noir et blanc, ce qui aide à séparer le texte de l'arrière-plan, réduit le bruit et rend le texte plus distinct pour de meilleurs résultats OCR en utilisant IronOCR.

Comment l'application des effets de niveaux de gris bénéficie-t-elle aux processus OCR?

L'application des effets de niveaux de gris réduit les distractions de couleur en convertissant l'image en nuances de gris. Cette simplification rend l'image moins encombrée et améliore la lisibilité du texte, ce qui est bénéfique pour les processus OCR avec IronOCR.

Quels sont les avantages d'inverser les couleurs de l'image pour l'extraction de texte?

Inverser les couleurs de l'image augmente le contraste en modifiant les schémas de couleurs, comme changer le texte blanc sur un fond noir en texte noir sur un fond blanc. Cette amélioration du contraste peut améliorer l'exactitude de l'extraction de texte en OCR lorsque vous utilisez IronOCR.

Comment pouvez-vous changer des couleurs spécifiques dans une image pour de meilleurs résultats OCR?

Pour changer des couleurs spécifiques dans une image pour de meilleurs résultats OCR, utilisez la méthode ReplaceColor dans IronOCR. Spécifiez la couleur d'origine, la nouvelle couleur et ajustez la valeur de tolérance pour affiner le remplacement de couleur.

Est-il possible de se concentrer sur le texte d'une couleur spécifique pendant l'OCR?

Oui, vous pouvez vous concentrer sur le texte d'une couleur spécifique pendant l'OCR en utilisant la méthode SelectTextColor dans IronOCR. Cela vous permet de spécifier la couleur de texte cible et une valeur de tolérance, améliorant l'exactitude de l'OCR pour le texte coloré.

Comment exportez-vous des images modifiées après correction des couleurs?

Après avoir appliqué la correction de couleur aux images, vous pouvez les exporter en utilisant la méthode SaveAsImages dans IronOCR. Cela vous permet de sauvegarder les images modifiées pour un traitement ultérieur ou pour les visualiser.

Pourquoi est-il important d'ajuster le contraste des images pour l'exactitude de l'OCR?

Ajuster le contraste des images est crucial pour l'exactitude de l'OCR car cela aide à distinguer le texte de l'arrière-plan, rendant les caractères plus prononcés et plus faciles à extraire par les algorithmes OCR, en particulier lorsqu'on utilise IronOCR.

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
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