IRONSOFTWAREHOME

Como obter a confiança de leitura do OCR em C# com o IronOCR

Curtis Chau
Curtis Chau
Updated: 4 de junho de 2026

A confiança de leitura do IronOCR indica quão certo o sistema OCR está sobre a precisão do texto reconhecido, com valores de 0 a 100 onde pontuações mais altas significam maior confiabilidade—acesso via a propriedade Confidence em qualquer objeto OcrResult.

A confiança de leitura em OCR (Reconhecimento Óptico de Caracteres) refere-se ao nível de certeza ou confiabilidade que o sistema OCR atribui à precisão do texto que reconheceu em uma imagem ou documento. É uma medida do grau de confiança que o sistema OCR tem de que o texto reconhecido está correto. Essa métrica torna-se particularmente importante ao processar documentos digitalizados , fotos ou quaisquer imagens onde a qualidade do texto possa variar.

Uma pontuação de confiança alta indica um alto grau de certeza de que o reconhecimento é preciso, enquanto uma pontuação de confiança baixa sugere que o reconhecimento pode ser menos confiável. Compreender esses níveis de confiança ajuda os desenvolvedores a implementar a lógica de validação e o tratamento de erros adequados em seus aplicativos.

Início Rápido: Aumente sua Confiança em Leitura OCR em Uma Linha

Use o método IronTesseract's Read com um caminho de arquivo de imagem e, em seguida, acesse a propriedade Confidence no OcrResult retornado para ver quão certo o IronOCR está sobre seu reconhecimento de texto. É uma maneira simples e confiável de começar a avaliar a precisão da saída do OCR.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Copie e execute este trecho de código.

    double confidence = new IronOcr.IronTesseract().Read("input.png").Confidence;
    C#
  3. 3Implante para testar em seu ambiente de produção.

    Comece a usar IronOCR em seu projeto hoje com uma avaliação gratuita
    arrow pointer

Como posso obter confiança de leitura em C#?

Após realizar OCR na imagem de entrada, o nível de confiança do texto é armazenado na propriedade Confidence. Utilize a instrução 'using' para descartar objetos automaticamente após o uso. Adicione documentos como imagens e PDFs com as classes OcrImageInput e OcrPdfInput, respectivamente. O método Read retornará um objeto OcrResult que permite o acesso à propriedade Confidence.

using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.tiff");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Get confidence level
double confidence = ocrResult.Confidence;

O valor de confiança retornado varia de 0 a 100, onde:

  • 90-100 : Excelente nível de confiança - O texto é altamente confiável.
  • 80-89 : Boa confiança - O texto é geralmente preciso, com pequenas incertezas.
  • 70-79 : Confiança moderada - O texto pode conter alguns erros
  • Abaixo de 70 : Baixa confiança - O texto deve ser revisado ou reprocessado

Como posso obter confiança em diferentes níveis?

Você pode obter não apenas o nível de confiança de todo o documento, mas também acessar os níveis de confiança de cada página, parágrafo, linha, palavra e caractere. Além disso, você pode obter a confiança de um bloco, que representa uma coleção de um ou mais parágrafos localizados próximos uns dos outros.

// Get page confidence level
double pageConfidence = ocrResult.Pages[0].Confidence;

// Get paragraph confidence level
double paragraphConfidence = ocrResult.Paragraphs[0].Confidence;

// Get line confidence level
double lineConfidence = ocrResult.Lines[0].Confidence;

// Get word confidence level
double wordConfidence = ocrResult.Words[0].Confidence;

// Get character confidence level
double characterConfidence = ocrResult.Characters[0].Confidence;

// Get block confidence level
double blockConfidence = ocrResult.Blocks[0].Confidence;

Exemplo prático: Filtragem por confiança

Ao processar documentos com qualidade variável, como digitalizações de baixa qualidade , você pode usar índices de confiança para filtrar os resultados:

using IronOcr;
using System.Linq;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Configure for better accuracy
ocrTesseract.Configuration.ReadBarCodes = false;
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;

// Add image
using var imageInput = new OcrImageInput("invoice.png");
// Apply filters to improve quality
imageInput.Deskew();
imageInput.DeNoise();

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Filter words with confidence above 85%
var highConfidenceWords = ocrResult.Words
    .Where(word => word.Confidence >= 85)
    .Select(word => word.Text)
    .ToList();

// Process only high-confidence text
string reliableText = string.Join(" ", highConfidenceWords);
Console.WriteLine($"High confidence text: {reliableText}");

// Flag low-confidence words for manual review
var lowConfidenceWords = ocrResult.Words
    .Where(word => word.Confidence < 85)
    .Select(word => new { word.Text, word.Confidence })
    .ToList();

foreach (var word in lowConfidenceWords)
{
    Console.WriteLine($"Review needed: '{word.Text}' (Confidence: {word.Confidence:F2}%)");
}

O que são escolhas de personagens em OCR?

Além do nível de confiança, há outra propriedade interessante chamada Choices. A seção "Opções" contém uma lista de palavras alternativas e sua relevância estatística. Essa informação permite ao usuário acessar outros caracteres possíveis. Essa funcionalidade é particularmente útil ao trabalhar com vários idiomas ou fontes especializadas.

using IronOcr;
using static IronOcr.OcrResult;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("Potter.tiff");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Get choices
Choice[] choices = ocrResult.Characters[0].Choices;

Como escolhas alternativas de personagens ajudam?

A escolha de personagens alternativos oferece diversas vantagens:

  1. Resolução de Ambiguidade: Quando caracteres como 'O' e '0', ou 'l' e '1' são confundidos
  2. Variações de Fonte: Diferentes interpretações para fontes estilizadas ou decorativas
  3. Problemas de Qualidade: Múltiplas possibilidades ao lidar com texto degradado
  4. Contexto linguístico : Interpretações alternativas baseadas em regras da língua.
Visualização de depuração das opções de caracteres OCR, mostrando os índices de confiança e os resultados do reconhecimento de texto para 'Capítulo Oito'.

Trabalhando com Escolhas de Personagem

Aqui está um exemplo completo que demonstra como usar opções de caracteres para melhorar a precisão:

using IronOcr;
using System;
using System.Linq;
using static IronOcr.OcrResult;

// Configure IronTesseract for detailed results
IronTesseract ocrTesseract = new IronTesseract();

// Process image with potential ambiguities
using var imageInput = new OcrImageInput("ambiguous_text.png");
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Analyze character choices for each word
foreach (var word in ocrResult.Words)
{
    Console.WriteLine($"\nWord: '{word.Text}' (Confidence: {word.Confidence:F2}%)");
    
    // Check each character in the word
    foreach (var character in word.Characters)
    {
        if (character.Choices != null && character.Choices.Length > 1)
        {
            Console.WriteLine($"  Character '{character.Text}' has alternatives:");
            
            // Display all choices sorted by confidence
            foreach (var choice in character.Choices.OrderByDescending(c => c.Confidence))
            {
                Console.WriteLine($"    - '{choice.Text}': {choice.Confidence:F2}%");
            }
        }
    }
}

Estratégias Avançadas de Confiança

Ao trabalhar com documentos especializados , como passaportes , placas de veículos ou cheques MICR , os índices de confiança tornam-se cruciais para a validação:

using IronOcr;

public class DocumentValidator
{
    private readonly IronTesseract ocr = new IronTesseract();
    
    public bool ValidatePassportNumber(string imagePath, double minConfidence = 95.0)
    {
        using var input = new OcrImageInput(imagePath);
        
        // Configure for passport reading
        ocr.Configuration.ReadBarCodes = true;
        ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleLine;
        
        // Apply preprocessing
        input.Deskew();
        input.Scale(200); // Upscale for better accuracy
        
        var result = ocr.Read(input);
        
        // Find passport number pattern
        var passportLine = result.Lines
            .Where(line => line.Text.Contains("P<") || IsPassportNumberFormat(line.Text))
            .FirstOrDefault();
        
        if (passportLine != null)
        {
            Console.WriteLine($"Passport line found: {passportLine.Text}");
            Console.WriteLine($"Confidence: {passportLine.Confidence:F2}%");
            
            // Only accept if confidence meets threshold
            return passportLine.Confidence >= minConfidence;
        }
        
        return false;
    }
    
    private bool IsPassportNumberFormat(string text)
    {
        // Simple passport number validation
        return System.Text.RegularExpressions.Regex.IsMatch(text, @"^[A-Z]\d{7,9}$");
    }
}

Otimizando para uma Maior Confiança

Para obter níveis de confiança mais elevados, considere usar filtros de imagem e técnicas de pré-processamento:

using IronOcr;

// Create an optimized OCR workflow
IronTesseract ocr = new IronTesseract();

using var input = new OcrImageInput("low_quality_scan.jpg");

// Apply multiple filters to improve confidence
input.Deskew();           // Correct rotation
input.DeNoise();          // Remove noise
input.Sharpen();          // Enhance edges
input.Dilate();           // Thicken text
input.Scale(150);         // Upscale for clarity

// Configure for accuracy over speed
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
ocr.Configuration.EngineMode = TesseractEngineMode.TesseractOnly;

var result = ocr.Read(input);

Console.WriteLine($"Document confidence: {result.Confidence:F2}%");

// Generate confidence report
var confidenceReport = result.Pages
    .Select((page, index) => new
    {
        PageNumber = index + 1,
        Confidence = page.Confidence,
        WordCount = page.Words.Length,
        LowConfidenceWords = page.Words.Count(w => w.Confidence < 80)
    });

foreach (var page in confidenceReport)
{
    Console.WriteLine($"Page {page.PageNumber}: {page.Confidence:F2}% confidence");
    Console.WriteLine($"  Total words: {page.WordCount}");
    Console.WriteLine($"  Low confidence words: {page.LowConfidenceWords}");
}

Resumo

Compreender e utilizar os índices de confiança do OCR é essencial para criar aplicações robustas de processamento de documentos. Ao aproveitar as propriedades de confiança e as opções de caracteres do IronOCR, os desenvolvedores podem implementar mecanismos inteligentes de validação, tratamento de erros e garantia de qualidade em seus fluxos de trabalho de OCR. Seja para processar capturas de tela , tabelas ou documentos especializados, os índices de confiança fornecem as métricas necessárias para garantir uma extração de texto precisa.

Perguntas frequentes

O que é confiança em OCR e por que ela é importante?

A confiança do OCR é uma medida de 0 a 100 que indica o grau de certeza do sistema de OCR quanto à precisão do reconhecimento de texto. O IronOCR fornece essa métrica por meio da propriedade Confidence em qualquer objeto OcrResult, auxiliando os desenvolvedores a avaliar a confiabilidade do texto reconhecido, especialmente ao processar documentos digitalizados, fotos ou imagens com qualidade de texto variável.

Como posso verificar rapidamente a confiança do OCR em C#?

Com o IronOCR, você pode obter a confiança do OCR em apenas uma linha de código: `double confidence = new IronOcr.IronTesseract().Read("input.png").Confidence;` Isso retorna uma pontuação de confiança entre 0 e 100, indicando o grau de certeza do IronOCR em relação ao seu reconhecimento de texto.

O que significam os diferentes intervalos de pontuação de confiança?

Os índices de confiança do IronOCR indicam: 90-100 (Excelente) significa que o texto é altamente confiável; 80-89 (Bom) significa que o texto é geralmente preciso, com pequenas incertezas; 70-79 (Moderado) significa que o texto pode conter alguns erros; abaixo de 70 (Baixo) significa que o texto deve ser revisado ou reprocessado.

Como posso acessar os níveis de confiança para diferentes elementos de texto?

O IronOCR permite recuperar níveis de confiança em múltiplas granularidades — páginas, parágrafos, linhas, palavras e caracteres individuais. Após realizar o OCR, você pode acessar a propriedade Confidence em cada nível através da estrutura do objeto OcrResult.

Posso obter sugestões de palavras alternativas com pontuações de confiança?

Sim, o IronOCR oferece uma propriedade chamada "Escolhas" que apresenta opções de palavras alternativas juntamente com seus respectivos níveis de confiança. Esse recurso é útil quando o mecanismo de OCR identifica múltiplas interpretações possíveis para o mesmo texto, permitindo a implementação de uma lógica de validação inteligente.

Como posso implementar a validação baseada em confiança na minha aplicação?

Após usar o método Read do IronOCR, verifique a propriedade Confidence do OcrResult. Implemente lógica condicional com base em limites de confiança — por exemplo, aceite automaticamente resultados acima de 90, sinalize resultados entre 70 e 90 para revisão e reprocesse ou verifique manualmente resultados abaixo de 70.

What are character choices in IronOCR?

Character choices in IronOCR refer to alternative word choices and their relevance metrics provided during OCR. This feature is useful for handling ambiguities and understanding potential character variations in the text.

How can character choices aid in text recognition?

Character choices help resolve ambiguities by offering alternative interpretations for similar-looking characters and words. This is particularly beneficial when dealing with font variations, degraded text, and multiple languages.

What preprocessing techniques improve IronOCR text accuracy?

Preprocessing techniques such as deskewing, denoising, sharpening, and scaling can significantly enhance text accuracy by improving image quality before executing OCR processes with IronOCR.

How does IronOCR handle low confidence recognition results?

IronOCR allows you to filter and flag low-confidence recognition results for review. You can identify words with confidence scores below a certain threshold and address uncertainties by using validation or reprocessing strategies.

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

...
Leia mais

Pronto para começar?

Nuget Downloads 6,236,385Versão:2026.9recém-lançado

Obtenha o seu GRÁTIS

Obtenha uma chave de avaliação de 30 dias instantaneamente.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.
bullet_testTeste em produção
sem marcas d'água
bullet_calendar30 dias completos
produto funcional
bullet_supportSuporte técnico 24 horas por dia,
5 dias por semana, durante o teste
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronOCR".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronOCR em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronOCR.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.