Gestion des CAPTCHA avec le logiciel OCR IronOCR
IronOCR peut-il lire les codes captcha ?
C'est possible avec ce logiciel OCR, mais pas garanti — la reconnaissance de texte sur des CAPTCHA reste complexe.
La plupart des générateurs de CAPTCHA sont délibérément conçus pour tromper les logiciels de reconnaissance optique de caractères (OCR), et certains utilisent même le test " Impossible à lire par un logiciel OCR ", comme Tesseract, comme test unitaire.
Les codes Captcha sont par définition très difficiles à lire pour les moteurs OCR. La résolution est très faible et chaque caractère est organisé de manière spécifique, avec des angles et des espacements différents des autres, ainsi que l'inclusion d'un bruit de fond variable.
Les images en niveaux de gris dont le bruit de fond a été supprimé donnent de meilleurs résultats que les images en couleur, mais peuvent tout de même représenter un défi :
Filtre OcrInput.DeNoise() ou OcrInput.DeepCleanBackgroundNoise() Filtre OcrInput.ToGrayScale()
Voici un exemple de code C# qui tente de supprimer le bruit et de convertir une image CAPTCHA en niveaux de gris afin d'améliorer les résultats de la reconnaissance optique de caractères (OCR) :
using IronOcr;
class CaptchaReader
{
static void Main(string[] args)
{
// Initialize the IronOCR engine
var Ocr = new IronTesseract();
// Create an OCR input object
var Input = new OcrInput("captcha-image.jpg");
// Apply noise reduction to improve OCR accuracy
// This removes background noise while preserving text
Input.DeNoise();
// Optionally apply a deep clean for more aggressive noise removal
Input.DeepCleanBackgroundNoise();
// Convert the image to grayscale
// OCR works better on grayscale images compared to colored ones
Input.ToGrayScale();
// Perform OCR to extract text from the image
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
}
using IronOcr;
class CaptchaReader
{
static void Main(string[] args)
{
// Initialize the IronOCR engine
var Ocr = new IronTesseract();
// Create an OCR input object
var Input = new OcrInput("captcha-image.jpg");
// Apply noise reduction to improve OCR accuracy
// This removes background noise while preserving text
Input.DeNoise();
// Optionally apply a deep clean for more aggressive noise removal
Input.DeepCleanBackgroundNoise();
// Convert the image to grayscale
// OCR works better on grayscale images compared to colored ones
Input.ToGrayScale();
// Perform OCR to extract text from the image
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
}
Imports IronOcr
Friend Class CaptchaReader
Shared Sub Main(ByVal args() As String)
' Initialize the IronOCR engine
Dim Ocr = New IronTesseract()
' Create an OCR input object
Dim Input = New OcrInput("captcha-image.jpg")
' Apply noise reduction to improve OCR accuracy
' This removes background noise while preserving text
Input.DeNoise()
' Optionally apply a deep clean for more aggressive noise removal
Input.DeepCleanBackgroundNoise()
' Convert the image to grayscale
' OCR works better on grayscale images compared to colored ones
Input.ToGrayScale()
' Perform OCR to extract text from the image
Dim Result = Ocr.Read(Input)
' Output the recognized text to the console
Console.WriteLine(Result.Text)
End Sub
End Class
Explication :
IronOcr: Cette bibliothèque est utilisée pour lire le texte des images.OcrInput: Cette classe représente l'entrée image pour le traitement OCR.DeNoise: Cette méthode est utilisée pour réduire le bruit de fond dans l'image.DeepCleanBackgroundNoise: Cette méthode est employée pour une réduction du bruit plus agressive si la méthode de baseDeNoisen'est pas suffisante.ToGrayScale: Ceci convertit l'image en niveaux de gris pour améliorer la précision de la reconnaissance.Read: Cette méthode est appelée pour extraire le texte de l'image prétraitée.

