How to Fix Image Colors for Reading

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 la lisibilité et la qualité d'une image. IronOcr propose des méthodes de binarisation, d'échelle de gris, d'inversion et de remplacement des couleurs pour rendre le texte et le contenu d'une image plus lisibles et plus esthétiques, ce qui est particulièrement important lorsqu'on travaille avec l'OCR (reconnaissance optique de caractères) pour extraire du texte des images. Il est également possible de ne lire que la couleur de texte sélectionnée.

Quickstart : Isolate Specific Text Colors in One Go

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

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. Copy and run this code snippet.

    new IronTesseract().Read(new IronOcr.OcrImageInput("sample.jpg").SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60));
  3. Deploy to test on your live environment

    Start using IronOCR in your project today with a free trial
    arrow pointer


Exemple de binarisation d'une image

Ce processus convertit l'image en un format bicolore, généralement en noir et blanc. Il permet de séparer le texte de l'arrière-plan et de réduire le bruit, ce qui rend le texte plus distinct et plus facile à lire.

Pour appliquer l'effet de binarisation à l'image, utilisez la méthode Binarize. Étant donné que les processus d'OCR fonctionnent mieux avec l'image la plus contrastée, avec un texte noir sur un fond blanc, cette méthode s'avère significative en rendant 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 commodité, 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 la binarisation.

Sample image

concurrents

Image binarisée

Après

Autre


Exemple d'une image en niveaux de gris

La conversion de l'image en différentes nuances de gris peut la rendre moins distrayante et plus facile à lire. Cela est particulièrement utile lorsque les couleurs originales de l'image causent un désordre visuel.

Pour appliquer l'effet d'échelle de gris à l'image, utilisez la méthode ToGrayScale. Le processus d'échelle de gris consiste à prendre la moyenne des valeurs R, V 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

concurrents

Image en niveaux de gris

Concurrents


Exemple d'inversion d'image

L'inversion des couleurs peut renforcer le contraste. Par exemple, transformer un texte blanc sur fond noir en un texte noir sur fond blanc peut améliorer la lisibilité.

Utilisez la méthode Invert pour inverser la couleur de l'image. La méthode accepte en option une valeur booléenne, qui est utilisée pour supprimer tous les canaux de couleur et 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 montrent la méthode Invert avec et sans l'option niveaux de gris.

Image inversée

Image inversée

Image inversée

Image inversée et en niveaux de gris

Image inversée et mise à l'échelle des gris


Exemple de remplacement de couleur

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

Pour utiliser la méthode ReplaceColor, indiquez 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 plus grande tolérance est requise 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

concurrents

Image de couleur remplacée

Concurrents


Lire un exemple de couleur de texte spécifique

Cette fonction vise à ne lire que la couleur de texte 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, qui représente la différence autorisée entre la couleur du pixel et la couleur sélectionnée pour chaque valeur R, V et B de 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 l'OCR, qui est destiné à lire uniquement le texte dans une couleur orangée.

OCR result

Pdfs consultables

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

: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,044,537 | Version : 2025.11 vient de sortir