Lidando com CAPTCHAs com o IronOCR

Curtis Chau
Curtis Chau
Updated: 29 de junho de 2026

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);
    }
}

Explicação:

  • IronOcr: Esta biblioteca é usada para ler texto de imagens.
  • OcrInput: Esta classe representa a entrada de imagem para o processamento 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 a DeNoise básica não for suficiente.
  • ToGrayScale: Isso converte a imagem em escala de cinza para melhorar a precisão do reconhecimento.
  • Read: Este método é chamado para extrair texto da imagem pré-processada.

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 bem estruturados e visualmente atraentes.

Leia mais

Pronto para começar?

Nuget Downloads 6,357,159Versão:2026.11recém-lançado