IRONSOFTWAREHOME
USANDO IRONOCR

Cómo crear reconocimiento de caracteres en C#

Kannaopat Udonpant
Kannapat Udonpant
Updated: 21 de abril de 2026

La tecnología de reconocimiento óptico de caracteres (OCR) permite la conversión de texto en formatos digitales legibles por máquinas. Cuando se escanea un documento (como una factura o un recibo), se guarda en su computadora como un archivo de imagen. Sin embargo, el texto dentro de la imagen escaneada no puede editarse, buscarse ni contarse utilizando un editor de texto regular.

OCR puede procesar la imagen, extraer texto y transformarlo en un formato de texto que pueda ser leído por computadoras. Esto permite la extracción de texto de diversas fuentes, incluidos archivos PDF y otras imágenes escaneadas. Además, las capacidades de OCR van más allá de la simple extracción de texto para incluir los principales formatos de imagen y documentos PDF, convirtiéndolos en datos OCR buscables.

En C#, los desarrolladores pueden aprovechar el poder de OCR a través de varias bibliotecas, y una de ellas es la potente biblioteca IronOCR de Iron Software. En este tutorial, exploraremos los conceptos básicos del OCR y demostraremos cómo usar IronOCR para realizar un reconocimiento de caracteres de manera eficiente en C#.

How to create Character Recognition in C#

  1. Cree un nuevo proyecto de C# y nombre el proyecto en Visual Studio.
  2. Instale la biblioteca .NET IronOCR e inclúyala en la carpeta del proyecto.
  3. Utilice el Tesseract de IronOCR para leer texto de imágenes.
  4. Utilice las características avanzadas de IronOCR para leer el texto en imágenes.
  5. Ajuste de rendimiento de la operación de lectura de IronOCR.

Introducción a IronOCR

IronOCR, una biblioteca de C# desarrollada por Iron Software, ofrece capacidades avanzadas de OCR. Ofrece extracción de texto precisa de imágenes, PDFs y documentos escaneados. Antes de sumergirnos en el código, asegúrese de tener IronOCR instalado en su proyecto.

Características principales de IronOCR de Iron Software

Motor de OCR Tesseract mejorado

IronOCR eleva las capacidades del ampliamente utilizado motor de OCR Tesseract mejorando tanto la precisión como la velocidad. Sirve como una solución robusta para extraer texto de varias fuentes, incluidas imágenes, PDFs y formatos de documentos diversos.

Amplia cobertura lingüística

Con soporte para más de 125 idiomas, IronOCR es experto en manejar requisitos multilingües, lo que lo convierte en una opción ideal para aplicaciones que requieren versatilidad lingüística.

Opciones de salida versátiles

El texto extraído se puede generar convenientemente como texto sin formato o datos estructurados para una integración sin problemas en las canalizaciones de procesamiento. Además, IronOCR facilita la creación de PDFs buscables directamente desde entradas de imágenes.

Adaptabilidad multiplataforma

Diseñado para ser compatible con C#, F# y VB.NET, IronOCR opera sin problemas en diversos entornos .NET, incluidas las versiones 8, 7, 6, Core, Standard y Framework.

Aprovechando Tesseract 5

IronOCR aprovecha el poder de Tesseract 5, finamente adaptado para un rendimiento óptimo dentro del ecosistema .NET.

Capacidad de OCR basada en zonas

Con IronOCR, los usuarios pueden definir con precisión zonas específicas dentro de los documentos, permitiendo el procesamiento de OCR dirigido. Esta característica mejora la precisión y eficiencia al enfocar la potencia de procesamiento donde más se necesita.

Herramientas de preprocesamiento de imágenes

La biblioteca ofrece un conjunto de funcionalidades de preprocesamiento de imágenes como desenvuelto y reducción de ruido. Estas herramientas garantizan resultados superiores incluso cuando se trata de imágenes fuente imperfectas, mejorando en última instancia la experiencia general del OCR.

Ahora, desarrollaremos una aplicación de demostración que utiliza IronOCR para leer texto de imágenes.

Requisitos previos

  1. Visual Studio: Asegúrese de haber instalado Visual Studio o cualquier otro entorno de desarrollo de C#.
  2. NuGet Package Manager: Asegúrese de que NuGet esté presente para administrar paquetes en su proyecto.

Paso 1: Crear un nuevo proyecto de C# en Visual Studio

Para empezar, crearemos una nueva aplicación de consola utilizando Visual Studio como se muestra a continuación.

Cómo crear Reconocimiento de Caracteres en C#: Figura 1 - Creando un nuevo proyecto C# en Visual Studio

Proporcione un nombre de proyecto y ubicación a continuación.

Cómo crear Reconocimiento de Caracteres en C#: Figura 2 - Proporciona un nombre de proyecto y la ubicación donde deseas guardar

Seleccione la versión .NET requerida para el proyecto.

Cómo crear Reconocimiento de Caracteres en C#: Figura 3 - Selecciona la versión .NET adecuada para el proyecto

Haga clic en el botón Crear para crear el nuevo proyecto.

Paso 2: Instale la biblioteca IronOCR e intégrela en su proyecto.

IronOCR se puede encontrar en la consola del administrador de paquetes NuGet como se muestra a continuación. Use el comando proporcionado para instalar el paquete.

Cómo crear Reconocimiento de Caracteres en C#: Figura 4 - Página de descarga del Gestor de Paquetes NuGet de IronOCR

Usando el administrador de paquetes NuGet de Visual Studio, busque IronOCR e instálelo en la carpeta de su proyecto.

Cómo crear Reconocimiento de Caracteres en C#: Figura 5 - Buscando IronOCR a través de la pestaña de exploración usando el Gestor de Paquetes NuGet

Una vez instalado, la aplicación está lista para utilizar IronOCR para leer texto de imágenes.

Paso 3: Utilice IronOCR Tesseract para leer texto de imágenes

IronOCR se destaca como la única biblioteca .NET que ofrece capacidades de OCR Tesseract 5. Actualmente, tiene la distinción de ser la biblioteca Tesseract 5 más sofisticada en todos los lenguajes de programación. IronOCR integra sin problemas Tesseract 5 en diversos entornos .NET, incluidas Framework, Standard, Core, Xamarin y Mono, asegurando un soporte integral en todo el ecosistema.

Considere el siguiente archivo de imagen como entrada. Ahora, veamos cómo leer el texto en este archivo de imagen.

Cómo crear Reconocimiento de Caracteres en C#: Figura 6 - Ejemplo de entrada

using IronOcr;

public class Program
{
    public static void Main(string[] args)
    {
        var ocrTesseract = new IronTesseract();
        using var ocrInput = new OcrInput();
        ocrInput.LoadImage(@"sample1.png");
        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}

Explicación del código

  1. Instancia de IronTesseract: Comenzamos creando una instancia de IronTesseract para realizar operaciones de OCR.
  2. Cargando imagen: Cargamos la imagen de muestra en el objeto OcrInput.
  3. Leyendo texto: Se lee el texto en la imagen y el resultado se imprime en la consola.

Resultado

Cómo crear Reconocimiento de Caracteres en C#: Figura 7 - Texto extraído usando IronOCR

Paso 4: Utilice las funciones avanzadas de IronOCR para leer el texto en imágenes

El objeto IronTesseract.Configuration ofrece a los usuarios avanzados acceso a la API subyacente de Tesseract dentro de C#/.NET, permitiendo la configuración detallada para la optimización y ajuste fino. A continuación se muestran algunas de las configuraciones avanzadas posibles.

Selección de idioma

Puede especificar el idioma para el OCR utilizando la propiedad Language. Por ejemplo, para configurar el idioma en inglés, use:

IronTesseract ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;

Modo de segmentación de página

El Modo de Segmentación de Página determina cómo Tesseract segmenta la imagen de entrada. Las opciones incluyen AutoOsd, SingleBlock, SingleLine y más. Por ejemplo:

ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd;

Variables personalizadas de Tesseract

Puede ajustar Tesseract configurando variables específicas. Por ejemplo, para desactivar la paralelización:

ocr.Configuration.TesseractVariables["tessedit_parallelize"] = false;

Personajes de listas blancas y negras

Utilice WhiteListCharacters y BlackListCharacters para controlar qué caracteres reconoce Tesseract. Por ejemplo:

ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
ocr.Configuration.BlackListCharacters = "`ë|^";

Variables de configuración adicionales

Explore otras variables de configuración de Tesseract para personalizar el comportamiento según sus necesidades. Por ejemplo:

ocr.Configuration.TesseractVariables["classify_num_cp_levels"] = 3;
ocr.Configuration.TesseractVariables["textord_debug_tabfind"] = 0;
// ... (more variables)

Ahora intentemos decodificar la misma imagen utilizando configuraciones avanzadas

using IronOcr;

public class Program
{
    public static void Main()
    {
        Console.WriteLine("Decoding using advanced features");
        var ocrTesseract = new IronTesseract() // Create instance
        {
            Language = OcrLanguage.EnglishBest, // Configure best English language
            Configuration = new TesseractConfiguration()
            {
                ReadBarCodes = false, // Disable reading barcodes
                BlackListCharacters = "`ë|^", // Blacklisted characters
                WhiteListCharacters = null, // No whitelist, allow all
                PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd,
                TesseractVariables = null, // No custom variables used
            },
            MultiThreaded = false,
        };
        
        using var ocrInput = new OcrInput(); // Create a disposible ocr input object
        ocrInput.AddImage(@"sample1.png"); // Load the sample image
        var ocrResult = ocrTesseract.Read(ocrInput); // Read the text from the image
        Console.WriteLine(ocrResult.Text); // Output the text
    }
}

Explicación del código

  1. Configuración de IronOCR: Se crea una instancia de IronTesseract (la clase principal de IronOCR) y se asigna a la variable ocrTesseract.

    Se aplican configuraciones a ocrTesseract:

    • Idioma: Especifica el idioma para el OCR (en este caso, inglés).
    • Configuración: Un objeto TesseractConfiguration que permite una mayor personalización:
      • ReadBarCodes: Desactiva la lectura de códigos de barras.
      • BlackListCharacters: Especifica caracteres a incluir en lista negra (caracteres que no se reconocerán).
      • WhiteListCharacters: No se especificó lista blanca, se permiten todos los caracteres.
      • PageSegmentationMode: Establece el modo de segmentación de página en 'AutoOsd'.
      • TesseractVariables: No se usaron variables personalizadas.
    • MultiThreaded: Desactiva la ejecución en múltiples hilos.
  2. Entrada OCR y Carga de Imágenes: Un bloque using crea un objeto desechable ocrInput de tipo OcrInput. El archivo de imagen "sample1.png" se añade a ocrInput.

  3. Extracción de Texto: Se llama al método Read en ocrTesseract, pasando ocrInput. El resultado se almacena en la variable ocrResult.

  4. Salida: El texto extraído se imprime en la consola usando Console.WriteLine(ocrResult.Text).

Resultado

Cómo crear Reconocimiento de Caracteres en C#: Figura 8 - Texto extraído usando IronOCR

Paso 5: Ajuste del rendimiento de la operación de lectura de IronOCR .

Al trabajar con IronOCR, tiene acceso a varios filtros de imagen que pueden ayudar a preprocesar imágenes antes de realizar OCR. Estos filtros optimizan la calidad de la imagen, mejoran la visibilidad y reducen el ruido o los artefactos. Ayudan a mejorar el rendimiento de la operación OCR.

  1. Rotar:

    El filtro Rotar permite rotar imágenes en un número especificado de grados en el sentido de las agujas del reloj. Para girar en sentido contrario, utilice números negativos.

  2. Desviar:

    El filtro Desviar corrige el sesgo de imagen, asegurando que el texto esté en posición vertical y ortogonal. Esto es particularmente útil para OCR porque Tesseract funciona mejor con escaneos correctamente orientados.

  3. Escalar:

    El filtro Escalar escala proporcionalmente las páginas de entrada del OCR.

  4. Binarizar:

    El filtro Binarizar convierte cada píxel en blanco o negro, sin puntos intermedios. Puede mejorar el rendimiento de OCR en caso de contrastes muy bajos entre texto y fondo.

  5. A escala de grises:

    El filtro A escala de grises convierte cada píxel a una escala de grises. Aunque es poco probable que mejore significativamente la precisión del OCR, puede mejorar la velocidad.

  6. Invertir:

    El filtro Invertir invierte los colores: el blanco se convierte en negro y el negro en blanco.

  7. Reemplazar color:

    El filtro Reemplazar color reemplaza un color específico dentro de una imagen por otro color, considerando un determinado umbral.

  8. Contraste:

    El filtro de Contraste aumenta automáticamente el contraste. A menudo mejora la velocidad y precisión del OCR en escaneos de bajo contraste.

  9. Dilatar y Erosionar:

    Estos filtros avanzados de morfología manipulan los límites del objeto en una imagen.

    • Dilatar añade píxeles a los límites del objeto.
    • Erosionar elimina píxeles de los límites del objeto.
  10. Afinar:

    El filtro Afinar afina los documentos de OCR borrosos y aplana los canales alfa a blanco.

  11. Marca de agua:

    El filtro Marca de agua elimina el ruido digital. Úselo donde se espere ruido.

  12. Eliminar Ruido De Fondo:

    Este filtro pesado de eliminación de ruido de fondo solo debe usarse cuando se conoce un ruido de fondo extremo en el documento. Puede reducir la precisión del OCR para documentos limpios y requiere mucha CPU.

  13. Mejorar Resolución:

    El filtro Mejorar Resolución mejora la resolución de imágenes de baja calidad. No suele ser necesario debido al manejo automático de la resolución.

Aquí hay un ejemplo de cómo aplicar filtros usando IronOCR en C#:

var ocr = new IronTesseract();
var input = new OcrInput();
input.LoadImage("sample.png");
input.Deskew();
var result = ocr.Read(input);
Console.WriteLine(result.Text);

Aplicaciones comunes de OCR

  1. Digitalización de documentos: El OCR se utiliza ampliamente para convertir documentos en papel escaneados, como facturas, recibos, formularios y contratos, en formatos digitales. Este proceso de digitalización agiliza el almacenamiento, recuperación y gestión de documentos, reduciendo el desorden de papel y mejorando la eficiencia.
  2. Extracción de datos: El OCR permite la extracción de texto y datos de documentos escaneados, imágenes y PDFs. Estos datos extraídos se pueden utilizar para entrada de datos automatizada, análisis de contenido, indexación e integración en bases de datos o sistemas empresariales.
  3. Reconocimiento de texto en imágenes: La tecnología OCR permite extraer texto de documentos impresos e imágenes con fines de indexación y búsqueda. Esta capacidad se utiliza en varias aplicaciones, incluidas la realidad aumentada, los motores de búsqueda basados en imágenes y los servicios de traducción.
  4. Reconocimiento automático de matrículas (ALPR): Los sistemas ALPR utilizan OCR para leer números de matrículas de imágenes o secuencias de video capturadas por cámaras instaladas en aplicaciones de vigilancia de tráfico, gestión de estacionamientos, cobro de peajes y cumplimiento de la ley.
  5. Soluciones de accesibilidad: El OCR desempeña un papel crucial en la creación de contenido accesible para personas con discapacidades visuales. Al convertir texto de imágenes o documentos en voz o braille, OCR ayuda a hacer la información accesible para personas con discapacidades.
  6. Verificación de identidad: La tecnología OCR se emplea en procesos de verificación de identidad, como escanear y procesar documentos de identidad como pasaportes, licencias de conducir e identificaciones. Ayuda a verificar la autenticidad de los documentos y extrae información relevante para el propósito de verificación de identidad.
  7. Banca y Finanzas: El OCR se utiliza en la banca y las finanzas para tareas como leer cheques, procesar facturas, convertir un documento PDF existente, extraer datos de estados financieros y automatizar flujos de trabajo basados en documentos para mejorar la precisión y eficiencia en las operaciones financieras.
  8. Traducción automática: La tecnología OCR se integra en herramientas de traducción y aplicaciones de aprendizaje de idiomas para convertir texto impreso de un idioma a otro. Los usuarios pueden capturar texto con sus dispositivos y OCR ayuda a traducirlo al idioma deseado en tiempo real.
  9. Preservación de documentos históricos y de archivo: El OCR se utiliza para digitalizar materiales de archivo y documentos históricos, preservándolos en formatos digitales para acceso futuro, investigación y análisis, al tiempo que garantiza la preservación del patrimonio cultural valioso.

Requisitos de licencia

IronOCR. Proporcione los detalles a continuación para recibir la clave en su correo electrónico

Cómo crear Reconocimiento de Caracteres en C#: Figura 9 - Página de licencia de prueba de IronPDF

Una vez que se obtenga la clave, ya sea por compra o prueba gratuita, siga los pasos a continuación para usar la clave.

Configuración de la clave de licencia: Configure su clave de licencia de IronOCR utilizando el código. Agregue la siguiente línea al inicio de su aplicación (antes de usar IronOCR):

IronOcr.License.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";

Clave de aplicación global (Web.Config o App.Config): Para aplicar una clave globalmente en su aplicación, use el archivo de configuración (Web.Config o App.Config). Añade la siguiente clave a tu appSettings:

<configuration>
    <!-- Other settings -->
    <appSettings>
        <add key="IronOcr.LicenseKey" value="IRONOCR-MYLICENSE-KEY-1EF01"/>
    </appSettings>
</configuration>
XML

Usando appsettings.json de .NET Core: Para aplicaciones .NET Core, crea un archivo appsettings.json en el directorio raíz de tu proyecto. Reemplace la clave "IronOcr.LicenseKey" con su valor de licencia:

{
    "IronOcr.LicenseKey": "IRONOCR-MYLICENSE-KEY-1EF01"
}
JSON

Comprobación de la clave de licencia: Comprueba que tu clave se ha instalado correctamente probándola:

bool result = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");

Conclusión

En conclusión, IronOCR, ofrece una solución robusta para OCR comenzando desde $999. Aproveche el poder de OCR con IronOCR y desbloquee un mundo de posibilidades en sus proyectos de C#.

Artículos Relacionados

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