Comment fixer les couleurs des images pour la lecture

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

par Chaknith Bin

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 lorsque l'on travaille avec l'OCR (Reconnaissance optique de caractères) pour extraire le texte des images. Il est également possible de ne lire que la couleur du texte sélectionné.


Bibliothèque NuGet C# pour OCR

Installer avec NuGet

Install-Package IronOcr
ou
Java PDF JAR

Télécharger DLL

Télécharger la DLL

Installation manuelle dans votre projet

Bibliothèque NuGet C# pour OCR

Installer avec NuGet

Install-Package IronOcr
ou
Java PDF JAR

Télécharger DLL

Télécharger la DLL

Installation manuelle dans votre projet

Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer

Découvrez IronOCR sur NuGet pour une installation rapide et un déploiement facile. Avec plus de 8 millions de téléchargements, il transforme OCR avec C#.

Bibliothèque NuGet C# pour OCR nuget.org/packages/IronOcr/
Install-Package IronOcr

Envisagez d'installer le IronOCR DLL directement. Téléchargez et installez-le manuellement pour votre projet ou sous forme de GAC : {{lienDllAfficher}}

Installation manuelle dans votre projet

Télécharger la DLL

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, qui présente un texte noir sur un fond blanc, cette méthode s'avère importante pour faire en sorte que le fond se distingue nettement 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");
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")
VB   C#

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

Exemple d'image
Image binarisée

Exemple d'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. Cette fonction est particulièrement utile lorsque les couleurs originales de l'image provoquent un encombrement 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()
VB   C#
Exemple d'image
Image en niveaux de gris

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 facultativement 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()
VB   C#

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

Inversé image
Inversé and grayscaled image

Exemple de remplacement de couleur

Cette technique permet de remplacer des couleurs spécifiques de l'image par d'autres couleurs, ce qui peut contribuer à mettre en évidence ou à atténuer certains éléments. Il est souvent utilisé pour faire ressortir le 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 la tolérance, est également important. Une plus grande tolérance 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")
VB   C#
Exemple d'image
Image couleur remplacée

Exemple de couleur de texte spécifique à la lecture

Cette fonction permet de lire uniquement 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)
VB   C#

Ci-dessous, vous trouverez le résultat de l'OCR, qui est destiné à lire uniquement le texte dans une couleur orangée.

Résultat de l'OCR

Chaknith Bin

Ingénieur logiciel

Chaknith est le Sherlock Holmes des développeurs. C'est en s'amusant à relever des défis de code qu'il s'est rendu compte pour la première fois qu'il pourrait avoir un avenir dans le domaine de l'ingénierie logicielle. Il se concentre sur IronXL et IronBarcode, mais il est fier d'aider les clients avec chaque produit. Chaknith tire parti des connaissances qu'il a acquises en discutant directement avec les clients pour améliorer les produits eux-mêmes. Ses commentaires anecdotiques vont au-delà des tickets Jira et soutiennent le développement de produits, la documentation et le marketing, afin d'améliorer l'expérience globale des clients.Quand il n'est pas au bureau, on peut le trouver en train d'apprendre sur l'apprentissage automatique, le codage et la randonnée.