Saltar al pie de página
USANDO IRONOCR

Cómo leer documentos de identidad usando OCR en C#

La tecnología de Reconocimiento Óptico de Caracteres (OCR) se ha convertido en una herramienta invaluable para automatizar la extracción de texto de imágenes, permitiendo una eficiente recuperación y análisis de datos y evitando errores humanos. Esta tecnología puede usarse para leer licencias de conducir, pasaportes, documentos oficiales de instituciones, tarjetas de identificación, tarjetas de permiso de residencia y documentos de viaje de múltiples idiomas y diferentes países hasta la fecha exacta de vencimiento, nacionalidad, fecha de nacimiento, etc. Todos los datos extraídos pueden luego ser alimentados en productos de software de aprendizaje automático e inteligencia artificial.

En este artículo, exploraremos cómo aprovechar IronOCR, una poderosa biblioteca de OCR en C# de Iron Software, para leer y extraer información de documentos de identidad. IronOCR proporciona una solución de OCR sencilla y flexible en forma de APIs para tareas de OCR, convirtiéndose en una excelente elección para desarrolladores que buscan integrar capacidades de software OCR en sus aplicaciones.

IronOCR permite a las computadoras reconocer y extraer texto de imágenes, escanear documentos existentes o cualquier otra representación visual de texto. Para extraer datos, implica una serie de procesos complejos que imitan la forma en que los humanos perciben e interpretan visualmente el texto. Este proceso involucra Preprocesamiento de Imágenes, Detección de Texto, Segmentación de Caracteres, Extracción de Características, Reconocimiento de Caracteres y Posprocesamiento para corregir errores.

Cómo leer documentos de identidad mediante OCR en C

  1. Crea un nuevo proyecto en C# en Visual Studio
  2. Instale la biblioteca .NET IronOCR y agréguele a su proyecto.
  3. Lea imágenes de documentos de identidad usando la biblioteca IronOCR.
  4. Lea los documentos de identidad a partir de PDFs.

IronOCR, creado y mantenido por Iron Software, sirve como una poderosa biblioteca para Ingenieros de Software en C#, facilitando OCR, Escaneo de Códigos de Barras y Extracción de Texto dentro de proyectos .NET.

Características principales de IronOCR

Versatilidad en la lectura de textos

Capaz de leer datos relevantes de varios formatos, incluidos imágenes (JPEG, PNG, GIFF, TIFF, BMP), flujos y PDFs.

Mejora de la imagen

Corrige escaneos y fotos de baja calidad a través de una serie de filtros como Deskew, Denoise, Binario, Mejora de Resolución, Dilata, y más.

Reconocimiento de códigos de barras

Admite la lectura de códigos de barras de una amplia gama de formatos, incluidos más de 20 tipos de códigos de barras, con reconocimiento adicional de códigos QR.

Integración de OCR con Tesseract

Utiliza la última versión de Tesseract OCR, ajustado finamente para un rendimiento óptimo en la extracción de texto de imágenes.

Opciones de salida flexibles

Permite la exportación de PDFs buscables, HTML y contenido de texto de archivos de imágenes, ofreciendo flexibilidad en la gestión de la información extraída.

Ahora, vamos a profundizar en el desarrollo de una aplicación de demostración que utiliza IronOCR para leer documentos de identificación.

Requisitos previos

  1. Visual Studio: Asegúrese de tener instalado Visual Studio o cualquier otro entorno de desarrollo C#.
  2. Administrador de Paquetes NuGet: Asegúrate de poder usar NuGet para gestionar paquetes en tu proyecto.

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

Comience creando una nueva aplicación de consola C# en Visual Studio, o, alternativamente, utilice un proyecto existente. Seleccione "Agregar Nuevo Proyecto" desde el Menú, luego seleccione aplicación de consola de las plantillas a continuación.

Cómo Leer Documentos de Identidad Usando OCR en C#: Figura 1

Proporcione un nombre de proyecto y ubicación en las ventanas de abajo.

Cómo Leer Documentos de Identidad Usando OCR en C#: Figura 2

Seleccione la versión .NET requerida.

Cómo Leer Documentos de Identidad Usando OCR en C#: Figura 3

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

Paso 2: Instale la biblioteca IronOCR y agréguela a su proyecto.

IronOCR se puede encontrar en el administrador de paquetes NuGet y se puede instalar usando la consola del administrador de paquetes con el siguiente comando:

Install-Package IronOcr

IronOCR también se puede instalar usando Visual Studio. Abra el administrador de paquetes NuGet, busque IronOCR como se muestra a continuación y haga clic en instalar.

Cómo Leer Documentos de Identidad Usando OCR en C#: Figura 5

Una vez instalado, la aplicación está lista para usar IronOCR para leer cualquier documento de identidad para la extracción de datos y verificación de identidad, reduciendo el trabajo de entrada manual de datos.

Paso 3: Leer imágenes de documentos de identidad utilizando la biblioteca IronOCR

Usar OCR para procesar documentos de identificación involucra muchos pasos, que se detallan a continuación.

Preprocesamiento de imágenes

El procesamiento de documentos de identificación con OCR comienza adquiriendo una imagen que contenga texto. Esta imagen podría ser documentos de identificación escaneados, una fotografía de tarjetas de identificación o cualquier otra representación visual de texto. Los pasos de preprocesamiento de tarjetas de identidad pueden incluir redimensionar, reducción de ruido y mejora para mejorar la calidad y claridad de la imagen.

Detección de texto

Los algoritmos de OCR necesitan ubicar las áreas de datos específicas dentro de la imagen donde está presente el texto. Este paso involucra identificar regiones de texto o cajas delimitadoras.

Segmentación de personajes

Una vez identificadas las regiones de texto o campos de datos, la imagen es analizada más a fondo para segmentar caracteres individuales. Este paso es crucial para idiomas que usan caracteres distintos, como el inglés o el chino.

Extracción de características

Los algoritmos de OCR analizan los caracteres segmentados para extraer características que ayudan a diferenciar entre diferentes caracteres. Estas características pueden incluir patrones de trazos, forma y relaciones espaciales entre elementos.

Reconocimiento de caracteres

Basado en las características extraídas, los algoritmos de OCR clasifican cada carácter segmentado y le asignan una representación textual correspondiente. Modelos de aprendizaje automático, como redes neuronales, son frecuentemente empleados en este paso.

Posprocesamiento

Los caracteres reconocidos pueden someterse a un posprocesamiento para corregir errores o mejorar la precisión. Este paso puede involucrar correcciones basadas en diccionario, análisis de contexto o modelado del lenguaje.

La biblioteca IronOCR se encarga de todos los pasos anteriores y nos permite realizar OCR usando solo unas pocas líneas de código, ahorrando tareas tediosas que consumen mucho tiempo.

using IronOcr;

class Program
{
    public static void Main()
    {
        // Configure IronTesseract with language and other settings
        var ocrTesseract = new IronTesseract()
        {
            Language = OcrLanguage.EnglishBest,
            Configuration = new TesseractConfiguration()
            {
                ReadBarCodes = false, // Disable reading of barcodes
                BlackListCharacters = "`ë|^", // Blacklist specific characters
                PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd, // Set page segmentation mode
            }
        };

        // Define the OCR input image
        using var ocrInput = new OcrInput("id1.png");

        // Perform OCR on the input image
        var ocrResult = ocrTesseract.Read(ocrInput);

        // Display the extracted text
        Console.WriteLine(ocrResult.Text);
    }
}
using IronOcr;

class Program
{
    public static void Main()
    {
        // Configure IronTesseract with language and other settings
        var ocrTesseract = new IronTesseract()
        {
            Language = OcrLanguage.EnglishBest,
            Configuration = new TesseractConfiguration()
            {
                ReadBarCodes = false, // Disable reading of barcodes
                BlackListCharacters = "`ë|^", // Blacklist specific characters
                PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd, // Set page segmentation mode
            }
        };

        // Define the OCR input image
        using var ocrInput = new OcrInput("id1.png");

        // Perform OCR on the input image
        var ocrResult = ocrTesseract.Read(ocrInput);

        // Display the extracted text
        Console.WriteLine(ocrResult.Text);
    }
}
Imports IronOcr

Friend Class Program
	Public Shared Sub Main()
		' Configure IronTesseract with language and other settings
		Dim ocrTesseract = New IronTesseract() With {
			.Language = OcrLanguage.EnglishBest,
			.Configuration = New TesseractConfiguration() With {
				.ReadBarCodes = False,
				.BlackListCharacters = "`ë|^",
				.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
			}
		}

		' Define the OCR input image
		Dim ocrInput As New OcrInput("id1.png")

		' Perform OCR on the input image
		Dim ocrResult = ocrTesseract.Read(ocrInput)

		' Display the extracted text
		Console.WriteLine(ocrResult.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

Imagen de entrada

A continuación, se muestra una imagen de muestra para el programa.

Cómo Leer Documentos de Identidad Usando OCR en C#: Figura 6

Resultado

Cómo Leer Documentos de Identidad Usando OCR en C#: Figura 7

Explicación del código

El código anterior utiliza la biblioteca IronOCR para leer todos los campos de texto del documento de identificación. Usamos la clase IronTesseract de la biblioteca IronOCR y la configuramos para usar el idioma inglés y algunos caracteres en lista negra. Luego declaramos la entrada OCR usando la clase OcrInput y leemos el texto de la imagen. Los campos de texto extraídos pueden verse en la salida de la consola.

Paso 4: Leer documentos de identidad desde archivos PDF.

También podemos leer desde documentos PDF. Para esto, podemos usar la biblioteca IronPDF de Iron Software. Primero, instala la biblioteca como se indica:

Install-Package IronOcr
using IronOcr;
using IronPdf;

class Program
{
    public static void Main()
    {
        // Load the PDF document
        var pdfReader = new PdfDocument("id1.pdf");

        // Initialize IronTesseract for OCR
        var ocrTesseract = new IronTesseract();

        // Create OCR input from the PDF stream
        using var ocrInput = new OcrInput();
        ocrInput.AddPdf(pdfReader.Stream);

        // Perform OCR on the PDF input
        var ocrResult = ocrTesseract.Read(ocrInput);

        // Display the extracted text
        Console.WriteLine(ocrResult.Text);
    }
}
using IronOcr;
using IronPdf;

class Program
{
    public static void Main()
    {
        // Load the PDF document
        var pdfReader = new PdfDocument("id1.pdf");

        // Initialize IronTesseract for OCR
        var ocrTesseract = new IronTesseract();

        // Create OCR input from the PDF stream
        using var ocrInput = new OcrInput();
        ocrInput.AddPdf(pdfReader.Stream);

        // Perform OCR on the PDF input
        var ocrResult = ocrTesseract.Read(ocrInput);

        // Display the extracted text
        Console.WriteLine(ocrResult.Text);
    }
}
Imports IronOcr
Imports IronPdf

Friend Class Program
	Public Shared Sub Main()
		' Load the PDF document
		Dim pdfReader = New PdfDocument("id1.pdf")

		' Initialize IronTesseract for OCR
		Dim ocrTesseract = New IronTesseract()

		' Create OCR input from the PDF stream
		Dim ocrInput As New OcrInput()
		ocrInput.AddPdf(pdfReader.Stream)

		' Perform OCR on the PDF input
		Dim ocrResult = ocrTesseract.Read(ocrInput)

		' Display the extracted text
		Console.WriteLine(ocrResult.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

El código anterior usa IronPDF para cargar el documento id1.pdf, y el PDF se pasa como flujo a OcrInput y ocrTesseract.

Resultado

Cómo Leer Documentos de Identidad Usando OCR en C#: Figura 9

Licencia (Prueba gratuita disponible)

Para usar IronOCR, necesitará una clave de licencia. Esta clave debe colocarse en appsettings.json.

{
    "IRONOCR-LICENSE-KEY": "your license key"
}

Proporciona un correo electrónico para obtener una licencia de prueba.

Cómo Leer Documentos de Identidad Usando OCR en C#: Figura 10

Casos de uso

1. Verificación de Identidad en Servicios Financieros:

  • Uso: Los bancos e instituciones financieras utilizan OCR para leer documentos de identidad como pasaportes, licencias de conducir y tarjetas de identificación durante el proceso de incorporación de clientes y el proceso de KYC.
  • Beneficios: Asegura una verificación de identidad precisa y eficiente para la creación de cuentas, solicitudes de préstamos y otras transacciones financieras.

2. Control Fronterizo e Inmigración:

  • Uso: Las autoridades de inmigración emplean tecnología OCR para leer y autenticar información de pasaportes y visas en puntos de control fronterizos.
  • Beneficios: Agiliza el proceso de inmigración, mejora la seguridad y reduce los errores de entrada de datos manual.

3. Control de Acceso y Seguridad:

  • Uso: OCR se utiliza en sistemas de control de acceso para leer información de tarjetas de identificación, credenciales de empleados o escaneos de reconocimiento facial para el acceso seguro a edificios o áreas restringidas.
  • Beneficios: Mejora la seguridad al garantizar que solo individuos autorizados tengan acceso y proporciona un registro digital de entradas.

4. Servicios de Gobierno Electrónico:

  • Uso: Las agencias gubernamentales usan OCR para procesar y verificar documentos de identificación presentados en línea para servicios como renovaciones de licencias de conducir, presentaciones de impuestos y solicitudes de permisos.
  • Beneficios: Mejora la eficiencia, reduce el papeleo y mejora la experiencia general de los ciudadanos.

5. Verificación de Identidad en el Sector Salud:

  • Uso: Los proveedores de atención médica usan OCR para leer información de identificaciones de pacientes, tarjetas de seguro y otros documentos de identidad para un registro preciso de pacientes.
  • Beneficios: Facilita una identificación precisa del paciente, asegura una gestión adecuada de los registros médicos y apoya los procesos de facturación.

6. Registro Automatizado en Hoteles:

  • Uso: Los hoteles implementan OCR para procesos de registro automatizados escaneando los documentos de identidad de los huéspedes, agilizando el proceso de registro.
  • Beneficios: Mejora la experiencia del huésped, reduce el tiempo de registro y minimiza errores en la captura de información del huésped.

7. Ciudades Inteligentes y Servicios Públicos:

  • Uso: OCR se aplica en iniciativas de ciudades inteligentes para leer documentos de identidad para servicios como acceso a transporte público, membresías de bibliotecas y registros de eventos de la ciudad.
  • Beneficios: Mejora la eficiencia de los servicios públicos, facilita el acceso sin interrupciones y mejora la experiencia de vida urbana.

8. Administración Educativa:

  • Uso: Las instituciones educativas usan OCR para procesar y verificar documentos de identificación durante la admisión de estudiantes, exámenes y emisión de credenciales académicas.
  • Beneficios: Asegura registros precisos de los estudiantes, reduce la carga administrativa y mejora la integridad de los procesos académicos.

Conclusión

Integrar la tecnología OCR en su aplicación C# utilizando IronOCR le permite extraer información eficientemente de documentos de identidad. Esta guía integral proporciona los pasos necesarios para configurar su proyecto y usar IronOCR para leer y procesar imágenes de documentos de identidad. Experimente con los ejemplos de código para adaptar el proceso de extracción a sus requisitos específicos, proporcionando una solución automatizada y fluida para gestionar los datos de documentos de identidad.

Preguntas Frecuentes

¿Cómo puedo extraer texto de documentos de identidad usando C#?

Mediante el uso de IronOCR, una biblioteca OCR especializada de Iron Software, puedes extraer texto de varios documentos de identidad como pasaportes, carnet de identidad y licencias de conducir. Puedes instalar IronOCR a través del Gestor de Paquetes NuGet en Visual Studio y usar sus métodos para leer texto de imágenes y PDFs.

¿Cuáles son los beneficios de usar OCR para documentos de identidad?

La tecnología OCR, como IronOCR de Iron Software, automatiza la extracción de texto de documentos de identidad, reduciendo errores humanos y mejorando la eficiencia en la recuperación de datos. Soporta múltiples idiomas y formatos de documento, lo que lo hace ideal para aplicaciones en finanzas, salud y control fronterizo.

¿Qué pasos están involucrados en configurar OCR en un proyecto de C#?

Para configurar OCR en un proyecto de C#, necesitas crear un nuevo proyecto en Visual Studio, instalar IronOCR a través del Gestor de Paquetes NuGet, y utilizar su API para leer texto de documentos. IronOCR proporciona documentación completa y ejemplos para ayudarte a integrar capacidades OCR.

¿Cómo mejorar la calidad de imagen para mejores resultados OCR?

IronOCR incluye funciones como Deskew, Denoise, Binarizar, Mejorar Resolución y Dilatar para mejorar la calidad de imagen. Estos filtros mejoran la precisión del reconocimiento de texto de imágenes de baja calidad, asegurando una extracción de datos fiable.

¿Puede la tecnología OCR leer códigos de barras de documentos de identidad?

Sí, IronOCR admite el reconocimiento de códigos de barras desde documentos de identidad. Puede leer más de 20 tipos de códigos de barras, incluidos códigos QR, lo que resulta útil para aplicaciones que requieren tanto extracción de datos de texto como de códigos de barras.

¿Hay casos de uso específicos para OCR en verificación de identidad?

El OCR se usa ampliamente en la verificación de identidad para aplicaciones como registros automáticos, control de acceso y servicios de e-gobierno. IronOCR proporciona las herramientas necesarias para extraer y verificar texto de documentos de identidad, mejorando la seguridad y agilizando los procesos.

¿Cómo puedo manejar la extracción de texto multilingüe con OCR?

IronOCR ofrece soporte multilingüe, permitiéndote extraer texto de documentos en varios idiomas. Esta característica es particularmente útil para aplicaciones internacionales donde los documentos en diferentes idiomas necesitan ser procesados eficientemente.

¿Hay una versión de prueba disponible para bibliotecas OCR?

IronOCR de Iron Software ofrece una versión de prueba gratuita. Puedes obtener una clave de licencia de prueba proporcionando una dirección de correo electrónico, permitiéndote explorar las características de la biblioteca antes de comprometerte con una compra.

Kannaopat Udonpant
Ingeniero de Software
Antes de convertirse en Ingeniero de Software, Kannapat completó un doctorado en Recursos Ambientales de la Universidad de Hokkaido en Japón. Mientras perseguía su grado, Kannapat también se convirtió en miembro del Laboratorio de Robótica de Vehículos, que es parte del Departamento de Ingeniería ...
Leer más