Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Reconocimiento óptico de caracteres (OCR) se ha convertido en una herramienta inestimable para automatizar la extracción de texto de imágenes, lo que permite recuperar y analizar datos con eficacia y evitar errores humanos. Esta tecnología puede utilizarse para leer permisos de conducir, pasaportes, documentos oficiales de instituciones, carnés de identidad, tarjetas de permiso de residencia y documentos de viaje de varios idiomas y diferentes países con la fecha exacta de caducidad, nacionalidad, fecha de nacimiento, etc. Todos los datos extraídos pueden alimentar posteriormente productos de software de aprendizaje automático e inteligencia artificial.
En este artículo, exploraremos cómo aprovechar IronOCRuna potente biblioteca de OCR en C# de Iron Softwareleer y extraer información de documentos de identidad. IronOCR ofrece una solución de OCR sencilla y flexible en forma de API para tareas de OCR, lo que la convierte en una opción excelente para los desarrolladores que buscan integrar funciones de software de OCR en sus aplicaciones.
IronOCR permite a los ordenadores reconocer y extraer texto de imágenes, escanear documentos existentes o cualquier otra representación visual del texto. Para extraer datos, implica una serie de procesos complejos que imitan la forma en que los humanos perciben e interpretan visualmente los textos. Este proceso incluye el preprocesamiento de imágenes, la detección de texto, la segmentación de caracteres, la extracción de características, el reconocimiento de caracteres y el postprocesamiento para corregir errores.
Leer el documento de identidad a partir de PDF.
IronOCRcreada y mantenida por Iron Software, sirve como una potente librería para Ingenieros de Software C#, facilitando OCR, Escaneo de Código de Barras, y Extracción de Texto dentro de proyectos .NET.
Capaz de leer datos relevantes de varios formatos, incluidas imágenes (JPEG, PNG, GIFF, TIFF, BMP), Streams y PDFs.
Corrige escaneos y fotos de baja calidad mediante una serie de filtros como Deskew, Denoise, Binarize, Enhance Resolution, Dilate, etc.
Admite la lectura de códigos de barras de una amplia gama de formatos, que abarca más de 20 tipos de códigos de barras, con reconocimiento añadido de códigos QR.
Utiliza la última versión de Tesseract OCR, perfeccionada para obtener un rendimiento óptimo en la extracción de texto de imágenes.
Permite exportar archivos PDF, HTML y contenido de texto con función de búsqueda a partir de archivos de imagen, 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 identidad.
Comience por crear una nueva aplicación de consola C# en Visual Studio o, alternativamente, utilice un proyecto existente. Seleccione Añadir nuevo proyecto en el menú y, a continuación, seleccione la aplicación de consola de las plantillas que aparecen a continuación.
Indique el nombre y la ubicación del proyecto en las siguientes ventanas
Seleccione la versión .NET necesaria
Haga clic en el botón Crear para crear el nuevo proyecto.
IronOCR en el NuGet y se puede instalar utilizando el símbolo del sistema con los siguientes comandos.
IronOCR puede instalarse mediante Visual Studio. Abra el gestor de paquetes NuGet y busque IronOCR como a continuación y haga clic en instalar
Una vez instalada, la aplicación está lista para hacer uso de IronOCR leer cualquier documento de identidad para extraer datos y verificar la identidad, lo que reducirá el trabajo de introducción manual de datos.
El uso del OCR para procesar documentos de identidad implica muchos pasos, que se detallan a continuación.
El procesamiento de documentos OCR ID comienza con la adquisición de una imagen que contiene texto. Esta imagen puede ser un documento de identidad escaneado, una fotografía de carnés de identidad o cualquier otra representación visual de texto. Los pasos de preprocesamiento del documento de identidad pueden incluir el redimensionamiento, la reducción de ruido y el realce para mejorar la calidad y claridad de la imagen.
Los algoritmos de OCR necesitan localizar las áreas de datos específicas dentro de la imagen donde está presente el texto. Este paso consiste en identificar regiones de texto o cuadros delimitadores.
Una vez identificadas las regiones de texto o los campos de datos, se sigue analizando la imagen para segmentar los caracteres individuales. Este paso es crucial para las lenguas que utilizan caracteres distintos, como el inglés o el chino.
Los algoritmos de OCR analizan los caracteres segmentados para extraer características que ayuden a diferenciar entre distintos caracteres. Estas características pueden incluir patrones de trazos, forma y relaciones espaciales entre elementos.
A partir de las características extraídas, los algoritmos de OCR clasifican cada carácter segmentado y le asignan una representación textual correspondiente. En este paso suelen emplearse modelos de aprendizaje automático, como las redes neuronales.
Los caracteres reconocidos pueden someterse a un tratamiento posterior para corregir errores o mejorar la precisión. Este paso puede implicar correcciones basadas en diccionarios, análisis de contexto o modelización del lenguaje.
IronOCR se encarga de todos los pasos anteriores y nos permite realizar el OCR utilizando sólo unas pocas líneas de código, ahorrando tediosas tareas que consumen mucho tiempo.
using IronOcr;
class Program
{
public static void Main()
{
IronTesseract ocrTesseract = new IronTesseract()
{
Language = OcrLanguage.EnglishBest,
Configuration = new TesseractConfiguration()
{
ReadBarCodes = false,
BlackListCharacters = "`ë
^",
PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd,
}
};
using var ocrInput = new OcrInput("id1.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
}
using IronOcr;
class Program
{
public static void Main()
{
IronTesseract ocrTesseract = new IronTesseract()
{
Language = OcrLanguage.EnglishBest,
Configuration = new TesseractConfiguration()
{
ReadBarCodes = false,
BlackListCharacters = "`ë
^",
PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd,
}
};
using var ocrInput = new OcrInput("id1.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
}
Imports IronOcr
Friend Class Program
Public Shared Sub Main()
Dim ocrTesseract As New IronTesseract() With {
.Language = OcrLanguage.EnglishBest,
.Configuration = New TesseractConfiguration() With {
.ReadBarCodes = False,
.BlackListCharacters = "`ë ^",
.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
}
}
Dim ocrInput As New OcrInput("id1.png")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Sub
End Class
A continuación se muestra una imagen de muestra utilizada como entrada para el programa
El código anterior utiliza la función IronOCR para leer todos los campos de texto del documento de identidad. Utilizamos la clase IronTesseract de la base de datos IronOCR y configurarlo para que utilice el idioma inglés y algunos caracteres de la lista negra. Luego declaramos la entrada OCR usando la clase OcrInput, y luego leemos el texto de la imagen. Los campos de texto extraídos pueden verse en la salida de la consola.
También podemos leer a partir de documentos PDF. Para ello, podemos utilizar la función IronPDF de IronSoftware. En primer lugar, instale la biblioteca como se indica a continuación
using IronOcr;
using IronPdf;
class Program
{
public static void Main()
{
var pdfReader = new PdfDocument("id1.pdf");
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.AddPdf(pdfReader.Stream);
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
}
using IronOcr;
using IronPdf;
class Program
{
public static void Main()
{
var pdfReader = new PdfDocument("id1.pdf");
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.AddPdf(pdfReader.Stream);
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
}
Imports IronOcr
Imports IronPdf
Friend Class Program
Public Shared Sub Main()
Dim pdfReader = New PdfDocument("id1.pdf")
Dim ocrTesseract = New IronTesseract()
Dim ocrInput As New OcrInput()
ocrInput.AddPdf(pdfReader.Stream)
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Sub
End Class
El código anterior utiliza IronPDF para cargar el documento id.PDF y este PDF se pasa como flujo a OcrInput y ocrTesseract.
IronOCR. Esta clave debe colocarse en appsettings.json.
"IRONOCR-LICENSE-KEY": "your license key"
"IRONOCR-LICENSE-KEY": "your license key"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'"IRONOCR-LICENSE-KEY": "your license key"
Proporcione el ID de correo electrónico del usuario para obtener una licencia de prueba.
1. Verificación de la identidad en los servicios financieros:
Caso práctico: Los bancos y las instituciones financieras utilizan el reconocimiento óptico de caracteres para leer documentos de identidad como pasaportes, carnés de conducir y documentos de identidad durante el proceso de incorporación de clientes y de identificación de clientes.
Ventajas: Garantiza una verificación de identidad precisa y eficaz para la creación de cuentas, solicitudes de préstamos y otras transacciones financieras.
2. Control de fronteras e inmigración:
Caso práctico: Las autoridades de inmigración emplean la tecnología OCR para leer y autenticar la información de pasaportes y visados en los puestos de control fronterizos.
Ventajas: Agiliza el proceso de inmigración, mejora la seguridad y reduce los errores de introducción manual de datos.
3. Control de acceso y seguridad:
Caso práctico: El OCR se utiliza en sistemas de control de acceso para leer información de tarjetas de identificación, credenciales de empleados o escáneres de reconocimiento facial para entrar de forma segura en edificios o zonas restringidas.
Ventajas: Aumenta la seguridad al garantizar que sólo acceden las personas autorizadas y proporciona un registro digital de las entradas.
4. Servicios de administración electrónica:
Caso práctico: Los organismos públicos utilizan el OCR para procesar y verificar los documentos de identidad presentados en línea para servicios como la renovación del permiso de conducir, la declaración de impuestos y la solicitud de permisos.
Ventajas: Mejora la eficiencia, reduce el papeleo y mejora la experiencia general del ciudadano.
5. Verificación de identidad sanitaria:
Caso práctico: Los profesionales sanitarios utilizan el OCR para leer la información de los carnés de identidad de los pacientes, las tarjetas de los seguros y otros documentos de identidad para llevar un registro preciso de los pacientes.
Ventajas: Facilita la identificación precisa de los pacientes, garantiza la correcta gestión de los historiales médicos y respalda los procesos de facturación.
6. Registro automatizado en el hotel:
Caso práctico: Los hoteles implantan el OCR para automatizar los procesos de facturación mediante el escaneado de los documentos de identidad de los huéspedes, lo que agiliza el proceso de registro.
Ventajas: Mejora la experiencia del huésped, reduce el tiempo de facturación y minimiza los errores en la captura de la información del huésped.
7. Ciudades y servicios públicos inteligentes:
Caso práctico: El OCR se aplica en iniciativas de ciudades inteligentes para leer documentos de identidad para servicios como el acceso al transporte público, las afiliaciones a bibliotecas y las inscripciones a eventos de la ciudad.
Beneficios: Mejora la eficiencia de los servicios públicos, facilita el acceso sin fisuras y mejora las experiencias de la vida urbana.
8. Administración educativa:
Caso práctico: Las instituciones educativas utilizan el OCR para procesar y verificar los documentos de identidad durante la admisión de estudiantes, los exámenes y la expedición de credenciales académicas.
Ventajas: Garantiza la exactitud de los registros de los estudiantes, reduce la carga administrativa y mejora la integridad de los procesos académicos.
Integración de la tecnología OCR en su aplicación C# mediante IronOCR le permite extraer eficazmente información de documentos de identidad. Esta completa guía proporciona los pasos necesarios para configurar su proyecto y utilizar 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, lo que le proporcionará una solución automatizada y sin fisuras para el tratamiento de datos de documentos de identidad.
9 productos API .NET para sus documentos de oficina