IRONSOFTWAREHOME

Cómo obtener confianza en la lectura de C# OCR con IronOCR

Curtis Chau
Curtis Chau
Updated: 4 de junio de 2026

La confianza de lectura de IronOCR indica cuán seguro está el sistema OCR sobre la precisión del texto reconocido, con valores de 0 a 100 donde puntuaciones más altas significan mayor fiabilidad—acceda a ella a través de la propiedad Confidence en cualquier objeto OcrResult.

La confianza en la lectura en OCR (Reconocimiento Óptico de Caracteres) se refiere al nivel de certeza o fiabilidad que el sistema OCR asigna a la precisión del texto que ha reconocido en una imagen o documento. Es una medida de cuán seguro está el sistema OCR de que el texto reconocido es correcto. Esta métrica adquiere especial importancia al procesar documentos escaneados, fotos o cualquier imagen en la que la calidad del texto pueda variar.

Una puntuación de alta confianza indica un alto grado de certeza de que el reconocimiento es preciso, mientras que una puntuación de baja confianza sugiere que el reconocimiento puede ser menos fiable. La comprensión de estos niveles de confianza ayuda a los desarrolladores a implementar una lógica de validación y una gestión de errores adecuadas en sus aplicaciones.

Guía Rápida: Obtenga Confianza de Lectura OCR en Una Línea

Use el método Read de IronTesseract con una ruta de archivo de imagen, luego acceda a la propiedad Confidence en el OcrResult devuelto para ver cuán seguro está IronOCR sobre su reconocimiento de texto. Es una forma sencilla y fiable de empezar a evaluar la precisión del resultado del OCR.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Copie y ejecute este fragmento de código.

    double confidence = new IronOcr.IronTesseract().Read("input.png").Confidence;
    C#
  3. 3Despliegue para probar en su entorno real

    Comienza a usar IronOCR en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

¿Cómo consigo confianza de lectura en C#?

Después de realizar OCR en la imagen de entrada, el nivel de confianza del texto se almacena en la propiedad Confidence. Utilice la instrucción 'using' para liberar automáticamente los objetos después de su uso. Agregue documentos como imágenes y PDFs con las clases OcrImageInput y OcrPdfInput, respectivamente. El método Read devolverá un objeto OcrResult que permite acceder a la propiedad 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;

El valor de confianza devuelto oscila entre 0 y 100, donde:

  • 90-100: Confianza excelente - El texto es muy fiable
  • 80-89: Buena confianza - El texto es generalmente preciso con pequeñas incertidumbres
  • 70-79: Confianza moderada - El texto puede contener algunos errores
  • Inferior a 70: Confianza baja - El texto debe ser revisado o reprocesado

¿Cómo puedo obtener confianza a distintos niveles?

No solo puede recuperar el nivel de confianza de todo el documento, sino también acceder a los niveles de confianza de cada página, párrafo, línea, palabra y carácter. Además, puede obtener la confianza de un bloque, que representa una colección de uno o más párrafos ubicados de cerca.

// 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;

Ejemplo práctico: Filtrado por confianza

Al procesar documentos de calidad variable, como escaneados de baja calidad, puede utilizar puntuaciones de confianza para filtrar los 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}%)");
}

¿Qué son las opciones de caracteres en OCR?

Además del nivel de confianza, hay otra propiedad interesante llamada Choices. Choices contiene una lista de opciones alternativas de palabras y su relevancia estadística. Esta información permite al usuario acceder a otros caracteres posibles. Esta función es especialmente útil cuando se trabaja con múltiples idiomas o fuentes 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;

¿Cómo ayudan las opciones de caracteres alternativos?

La elección de caracteres alternativos ofrece varias ventajas:

  1. Resolución de ambigüedad: Cuando caracteres como 'O' y '0', o 'l' y '1' se confunden
  2. Variaciones de fuente: Diferentes interpretaciones para fuentes estilizadas o decorativas
  3. Problemas de calidad: Múltiples posibilidades al lidiar con texto degradado
  4. Contexto lingüístico: Interpretaciones alternativas basadas en las reglas lingüísticas
Vista de depuración de las opciones de caracteres del OCR que muestra las puntuaciones de confianza y los resultados del reconocimiento de texto para el "Capítulo Ocho"

Trabajar con caracteres

Aquí tienes un ejemplo completo que muestra cómo utilizar la selección de caracteres para mejorar la precisión:

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

Estrategias de confianza avanzadas

Cuando se trabaja con documentos especializados como pasaportes, placas de licencia, o cheques del IMIC, las puntuaciones de confianza se vuelven cruciales para la validación:

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

Optimización para una mayor confianza

Para obtener puntuaciones de confianza más altas, considera el uso de filtros de imagen y técnicas de preprocesamiento:

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

Resumen

Comprender y utilizar las puntuaciones de confianza de OCR es esencial para crear aplicaciones sólidas de procesamiento de documentos. Al aprovechar las propiedades de confianza y las opciones de caracteres de IronOCR, los desarrolladores pueden implementar mecanismos inteligentes de validación, gestión de errores y garantía de calidad en sus flujos de trabajo de OCR. Tanto si está procesando capturas de pantalla, tablas o documentos especializados, las puntuaciones de confianza proporcionan las métricas necesarias para garantizar una extracción de texto precisa.

Preguntas Frecuentes

¿Qué es la confianza OCR y por qué es importante?

La confianza del OCR es una medida de 0 a 100 que indica el grado de certeza del sistema de OCR en cuanto a la precisión del reconocimiento de texto. IronOCR proporciona esta métrica a través de la propiedad Confidence en cualquier objeto OcrResult, ayudando a los desarrolladores a evaluar la fiabilidad del texto reconocido, especialmente al procesar documentos escaneados, fotos o imágenes con una calidad de texto variable.

¿Cómo puedo comprobar rápidamente la confianza del OCR en C#?

Con IronOCR, puede obtener la confianza del reconocimiento óptico de caracteres en sólo una línea de código: double confidence = new IronOcr.IronTesseract().Read("input.png").Confidence; Esto devuelve una puntuación de confianza entre 0-100 que indica lo seguro que está IronOCR sobre su reconocimiento de texto.

¿Qué significan los distintos rangos de confianza?

Las puntuaciones de confianza de IronOCR indican: 90-100 (Excelente) significa que el texto es altamente confiable; 80-89 (Bueno) significa que el texto es generalmente preciso con incertidumbres menores; 70-79 (Moderado) significa que el texto puede contener algunos errores; Por debajo de 70 (Bajo) significa que el texto debe ser revisado o reprocesado.

¿Cómo puedo acceder a los niveles de confianza de los distintos elementos de texto?

IronOCR le permite recuperar niveles de confianza en múltiples granularidades: páginas, párrafos, líneas, palabras y caracteres individuales. Después de realizar el OCR, puede acceder a la propiedad Confidence en cada nivel a través de la estructura de objetos OcrResult.

¿Puedo obtener sugerencias de palabras alternativas con puntuaciones de confianza?

Sí, IronOCR proporciona una propiedad Opciones que ofrece opciones de palabras alternativas junto con sus puntuaciones de confianza. Esta característica ayuda cuando el motor de OCR identifica múltiples interpretaciones posibles del mismo texto, lo que le permite implementar una lógica de validación inteligente.

¿Cómo implemento la validación basada en la confianza en mi aplicación?

Después de utilizar el método Read de IronOCR, compruebe la propiedad Confidence del OcrResult. Implemente una lógica condicional basada en umbrales de confianza; por ejemplo, acepte automáticamente resultados superiores a 90, marque los resultados entre 70 y 90 para su revisión y vuelva a procesar o verifique manualmente los resultados inferiores a 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
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

¿Listo para empezar?

Nuget Downloads 6,236,385Versión:2026.9recién lanzado

Obtén tu GRATIS

Clave de prueba de 30 días instantáneamente.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuenta
bullet_testPrueba en producción
sin marcas de agua
bullet_calendarProducto completamente
funcional por 30 días
bullet_supportSoporte técnico 24/5
durante la prueba
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Selecciona Examinar y busca "IronOCR"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargar el instalador de Windows aquí.

  1. Descarga y descomprime IronOCR en una ubicación como ~/Libs dentro de tu directorio de Solución
  2. En Visual Studio Solution Explorer, haz clic derecho en Referencias. Selecciona Examinar, "IronOCR.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta