USO DE IRONOCR

OCR con visión por ordenador (ejemplo de tutorial)

Kannaopat Udonpant
Kannapat Udonpant
28 de marzo, 2023
Actualizado 28 de enero, 2024
Compartir:

El reconocimiento óptico de caracteres (OCR) es una tecnología que permite a las máquinas leer e interpretar texto a partir de imágenes, haciendo que el procesamiento de datos y la automatización sean más rápidos y eficientes. Este artículo proporciona directrices sobre el uso de la visión por ordenador OCR con la biblioteca IronOCR y cómo puede mejorar el reconocimiento de texto, automatizando este proceso.

¿Por qué es importante el OCR?

OCR junto con la visión por computadora es una forma avanzada de Reconocimiento Óptico de Caracteres (OCR) que aprovecha el poder de la inteligencia artificial y los algoritmos de aprendizaje automático para reconocer caracteres de texto en imágenes de manera más precisa y eficiente.

Los algoritmos de procesamiento de imágenes por visión informática permiten a los sistemas de OCR comprender el contexto y la disposición del texto en una imagen y reconocer los caracteres basándose en su forma y estructura. El OCR, junto con la visión por ordenador, puede extraer texto de imágenes complejas con múltiples fuentes, estilos y tamaños, lo que lo convierte en una valiosa herramienta para la digitalización de documentos, la extracción de datos y la automatización.

IronOCR: C# Biblioteca OCR

IronOCR es una popular biblioteca OCR que utiliza técnicas de visión por computadora para la extracción de texto desde imágenes y documentos. Es fácil de usar y se integra con múltiples lenguajes de programación, incluidos C# y VB.NET. IronOCR está disponible tanto en versión local como en la nube y ofrece una serie de funcionalidades para procesar y extraer texto de imágenes.

Instalación de IronOCR

Para instalar IronOCR, utilice el siguiente comando en la consola del gestor de paquetes NuGet:

:ProductInstall

Sistema OCR con IronOCR

La siguiente imagen se utiliza para probar el sistema OCR con visión por computadora usando IronOCR.

OCR con Visión por Computador (Ejemplo de Tutorial), Figura 1: Muestra de imagen utilizada para la detección OCR

Muestra de imagen utilizada para la detección de OCR

BuscarRegiónDeTexto

El método FindTextRegion se utiliza para identificar una única región de texto dentro de una imagen. El método toma varios parámetros opcionales, incluyendo Scale, DilationAmount, Binarize, y Invert. Scale ajusta el tamaño de la imagen, DilationAmount incrementa el grosor del texto, Binarize convierte la imagen en blanco y negro, y Invert invierte los colores de la imagen.

using IronOcr;
using System;

var ocr = new IronTesseract();
using (var inputOCR = new OcrInput("test.jpg")) 
{
    inputOCR.FindTextRegion();
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;
using System;

var ocr = new IronTesseract();
using (var inputOCR = new OcrInput("test.jpg")) 
{
    inputOCR.FindTextRegion();
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Using inputOCR = New OcrInput("test.jpg")
	inputOCR.FindTextRegion()
	Dim result As OcrResult = ocr.Read(input)
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

Tras ejecutar el código, verás que extrae texto de la región de texto mediante un proceso de aprendizaje automático. El resultado aparece en la consola con una precisión de reconocimiento de texto de casi el 100%.

OCR con visión por computadora (Tutorial de ejemplo), Figura 2: Los resultados de la consola del proceso de extracción de texto

Los resultados de la consola del proceso de extracción de texto

Método FindMultipleTextRegions

El método FindMultipleTextRegions es similar al método FindTextRegion, pero se utiliza cuando hay múltiples regiones de texto en una imagen. Devuelve una lista de objetos CropRectangle que definen la ubicación de cada región de texto. Este método es útil cuando se desea extraer texto de una imagen que contiene varias secciones de texto.

using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput("test.jpg"))
{
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput("test.jpg"))
{
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);
    OcrResult result = ocr.Read(input);
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr

Private ocr = New IronTesseract()
Using input = New OcrInput("test.jpg")
	input.FindMultipleTextRegions(Scale:= 2.0, DilationAmount:= -1, Binarize:= True, Invert:= False)
	Dim result As OcrResult = ocr.Read(input)
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

El fragmento de código proporcionado arriba es un ejemplo de cómo usar la biblioteca IronOCR para realizar OCR en un archivo de imagen. Primero importa la biblioteca IronOCR y crea una nueva instancia de la clase IronTesseract. A continuación, inicializa un objeto OcrInput con la ruta del archivo de imagen de entrada y aplica algunas técnicas de preprocesamiento para la corrección de imágenes utilizando el método FindMultipleTextRegions.

Después de eso, llama al método Read del objeto IronTesseract, que realiza el OCR en la imagen preprocesada y devuelve un objeto OcrResult. El texto extraído del objeto OcrResult se almacena en una variable de tipo cadena y se imprime en la consola.

El resultado de IronOCR

La salida de IronOCR es muy precisa, incluso cuando se trata de imágenes complejas con múltiples fuentes, tamaños y estilos de texto.

La precisión del OCR es crucial a la hora de extraer datos de imágenes, ya que el texto extraído se utiliza a menudo para procesamientos posteriores, como el análisis de datos, la introducción manual de datos, el aprendizaje automático o el procesamiento del lenguaje natural. Si el texto extraído contiene errores, puede causar problemas posteriores. Además, IronOCR permite investigar en los objetos de resultado para verificar los niveles de confianza.

Casos prácticos de visión computerizada OCR

La tecnología de reconocimiento óptico de caracteres (OCR) ha revolucionado la manera en que se maneja el texto impreso. Las herramientas de OCR se han convertido en una parte indispensable del tratamiento de documentos y la extracción de datos. He aquí algunos casos de uso del software de reconocimiento óptico de caracteres:

Reconocimiento de matrículas OCR

El reconocimiento de matrículas juega un papel significativo en la automatización de la gestión del tráfico, los sistemas de estacionamiento y las actividades de aplicación de la ley. Al implementar la visión por ordenador OCR en C#, los desarrolladores pueden crear aplicaciones que identifiquen con rapidez y precisión las matrículas a partir de imágenes o secuencias de vídeo en directo. Esta tecnología puede utilizarse para:

  • Controlar las infracciones de tráfico e identificar los vehículos implicados en actividades delictivas.
  • Automatizar los sistemas de aparcamiento, facilitando la gestión de entradas y salidas y agilizando el proceso de facturación.
  • Refuerce las medidas de seguridad mediante el seguimiento y la supervisión de los movimientos de vehículos en zonas restringidas.

Extraer texto de las facturas

La visión por computadora OCR en C# se puede utilizar para desarrollar aplicaciones OCR que automatizan la extracción de texto de facturas y otros documentos financieros. Este proceso puede reducir drásticamente los errores de introducción manual de datos y agilizar las tareas contables. Las principales ventajas son:

  • Aumento de la productividad mediante la automatización del proceso de introducción de datos.
  • Mayor precisión, ya que el OCR reduce la probabilidad de errores humanos.
  • Perfecta integración con programas y sistemas de contabilidad para una gestión eficaz de los datos.

Generación de subtítulos OCR

Crear subtítulos para videos puede ser un proceso que consume mucho tiempo y requiere mucho trabajo. La visión por computadora OCR en C# puede simplificar este proceso al detectar y transcribir automáticamente el texto en pantalla, permitiendo a los desarrolladores:

  • Crea subtítulos precisos para películas, programas de televisión y vídeos en línea.
  • Mejorar la accesibilidad para las personas con discapacidad auditiva o que hablan idiomas diferentes.
  • Impulsar los esfuerzos de SEO proporcionando contenido indexable y con capacidad de búsqueda para la plataforma de vídeo.

Procesamiento OCR de PDF

Los PDF se utilizan mucho para compartir y almacenar documentos, pero extraer texto de ellos puede resultar complicado. La visión por computadora OCR en C# puede ayudar a los desarrolladores a crear aplicaciones OCR que procesen archivos PDF sin esfuerzo y extraigan su contenido, facilitando:

Digitalización de texto impreso

El software OCR se utiliza ampliamente para digitalizar texto impreso de imágenes de documentos. Las herramientas de OCR pueden extraer texto de documentos digitales escaneados, PDFs y imágenes en varios formatos. Esto es especialmente útil en la gestión de documentos, donde puedes buscar, almacenar y compartir fácilmente documentos basados en texto.

Extracción de datos

La tecnología OCR se utiliza ampliamente para extraer datos de datos de entrada como facturas, recibos y formularios. Los modelos OCR pueden reconocer y extraer campos de datos clave como nombres, direcciones, fechas e importes. Esto elimina la necesidad de introducir datos manualmente y reduce los errores en el procesamiento de datos.

Búsqueda de imágenes

La tecnología OCR también se utiliza para la búsqueda de imágenes, que permite buscar imágenes a partir del texto que contienen. Esto es especialmente útil para grandes bibliotecas de imágenes, donde la búsqueda manual llevaría mucho tiempo.

Traducción

El software de OCR puede utilizarse para extraer texto de documentos en un idioma y traducirlo a otro. Esto es especialmente útil para las empresas internacionales, donde los documentos deben traducirse con rapidez y precisión.

Resumen

El reconocimiento óptico de caracteres (OCR) es una tecnología que permite a los ordenadores leer texto de imágenes. El OCR junto con la visión por ordenador es importante porque permite a las máquinas comprender e interpretar el mundo visual, lo que es esencial para aplicaciones como los coches autoconducidos, la robótica y el procesamiento automatizado de documentos.

IronOCR es un potente motor de OCR que permite aplicar OCR con visión por ordenador para reconocer texto con precisión y realizar extracciones de texto de imágenes. Proporciona una gama de métodos para encontrar y extraer regiones de texto, incluidos FindTextRegion, FindMultipleTextRegions y GetTextRegions. Cada método tiene su propio conjunto de parámetros que se pueden usar para ajustar el proceso de OCR y proporcionar una alta precisión de OCR.

Al utilizar IronOCR, puedes extraer rápidamente y con precisión el texto escaneado de las imágenes de entrada utilizando concurrencia y configuración personalizada, lo que puede ahorrarte tiempo y esfuerzo al manejar grandes volúmenes de datos de imágenes de entrada. Tanto si trabaja con documentos escaneados, fotografías o capturas de pantalla, IronOCR puede ayudarle a desentrañar el texto que contienen.

IronOCR ofrece una prueba gratuita a los usuarios que desean probar el software antes de tomar una decisión de compra. La licencia para IronOCR comienza desde $749 e incluye soporte y actualizaciones durante un año. Con sus sólidas funciones y un precio razonable, IronOCR es una gran opción para cualquiera que busque una solución de OCR fiable con una alta precisión de OCR.

Kannaopat Udonpant
Ingeniero de software
Antes de convertirse en ingeniero de software, Kannapat realizó un doctorado en Recursos Medioambientales en la Universidad de Hokkaido (Japón). Mientras cursaba su licenciatura, Kannapat también se convirtió en miembro del Laboratorio de Robótica Vehicular, que forma parte del Departamento de Ingeniería de Bioproducción. En 2022, aprovechó sus conocimientos de C# para unirse al equipo de ingeniería de Iron Software, donde se centra en IronPDF. Kannapat valora su trabajo porque aprende directamente del desarrollador que escribe la mayor parte del código utilizado en IronPDF. Además del aprendizaje entre iguales, Kannapat disfruta del aspecto social de trabajar en Iron Software. Cuando no está escribiendo código o documentación, Kannapat suele jugar con su PS5 o volver a ver The Last of Us.
< ANTERIOR
Extracción de datos de recibos OCR (Tutorial paso a paso)
SIGUIENTE >
Cómo OCR Licencia de Conducir en C#