Lidando com CAPTCHAs com o IronOCR

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

O IronOCR consegue ler códigos captcha?

Isso é possível, mas não garantido.

A maioria dos geradores de CAPTCHA são projetados deliberadamente para enganar softwares de OCR, e alguns até usam a mensagem "Falha na leitura pelo software de OCR", como o Tesseract, como teste unitário.

Os códigos Captcha são, por definição, muito difíceis de serem lidos por mecanismos de OCR. A resolução é muito baixa e cada personagem é organizado especificamente com ângulos e espaços diferentes em relação aos outros, além da inclusão de ruído de fundo variável.

Imagens em tons de cinza com ruído de fundo removido são mais eficazes do que imagens coloridas, mas ainda podem representar um desafio:

Abaixo está um exemplo de código C# que tenta remover ruído e converter uma imagem CAPTCHA para escala de cinza para melhorar os resultados de 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);
    }
}
$vbLabelText   $csharpLabel

Explicação:

  • IronOcr: Esta biblioteca é usada para ler texto de imagens.
  • OcrInput: Esta classe representa a entrada de imagem para o processamento de OCR.
  • DeNoise: Este método é usado para reduzir o ruído de fundo na imagem.
  • DeepCleanBackgroundNoise: Este método é empregado para uma redução de ruído mais agressiva se o básico DeNoise não for suficiente.
  • ToGrayScale: Isso converte a imagem para escala de cinza para melhorar a precisão do reconhecimento.
  • Read: Este método é chamado para extrair texto da imagem pré-processada.
Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 5,525,971 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronOcr
executar um exemplo Veja sua imagem se transformar em texto pesquisável.