Saltar al pie de página
USANDO IRONOCR

OCR con Visión por Computadora (Tutorial de Ejemplo)

Reconocimiento óptico de caracteres (OCR) con IronOCR

El Reconocimiento Óptico de Caracteres (OCR) es una tecnología que permite a las máquinas leer e interpretar texto 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 del OCR con la biblioteca IronOCR y cómo puede mejorar el reconocimiento de texto, automatizando este proceso.

¿Por qué es importante el OCR?

El 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 las imágenes de manera más precisa y eficiente.

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

IronOCR: Biblioteca de OCR de C

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

Instalación de IronOCR

Para instalar IronOCR, use el siguiente comando en la Consola del Administrador de Paquetes NuGet:

Install-Package IronOcr

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 Computadora (Ejemplo Tutorial), Figura 1: Ejemplo de imagen utilizada para la detección OCR Ejemplo de imagen utilizada para la detección OCR

Método FindTextRegion

El método FindTextRegion se utiliza para identificar una sola región de texto dentro de una imagen. El método toma varios parámetros opcionales, incluyendo Scale, DilationAmount, Binarize e Invert:

  • Scale ajusta el tamaño de la imagen para un mejor reconocimiento de texto.
  • DilationAmount incrementa el grosor del texto para mejorar la visibilidad.
  • Binarize convierte la imagen en blanco y negro, mejorando el contraste.
  • Invert invierte los colores de la imagen, lo cual puede ser útil para ciertos tipos de imágenes.
using IronOcr;
using System;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var inputOCR = new OcrInput("test.jpg")) 
{
    // Identify a text region within the image
    inputOCR.FindTextRegion();

    // Perform OCR on the identified text region
    OcrResult result = ocr.Read(inputOCR);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;
using System;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var inputOCR = new OcrInput("test.jpg")) 
{
    // Identify a text region within the image
    inputOCR.FindTextRegion();

    // Perform OCR on the identified text region
    OcrResult result = ocr.Read(inputOCR);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr
Imports System

' Initialize the IronTesseract OCR engine
Private ocr = New IronTesseract()

' Create an OcrInput object for the image
Using inputOCR = New OcrInput("test.jpg")
	' Identify a text region within the image
	inputOCR.FindTextRegion()

	' Perform OCR on the identified text region
	Dim result As OcrResult = ocr.Read(inputOCR)

	' Extract and print the recognized text
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

Nota: Después de ejecutar el código, verá que extrae texto de la región de texto mediante un proceso de aprendizaje automático. El resultado de salida aparece en la consola con alta precisión de reconocimiento de texto.

OCR con Visión por Computadora (Ejemplo Tutorial), 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 a 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 desea extraer texto de una imagen que contiene múltiples secciones de texto.

using IronOcr;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var input = new OcrInput("test.jpg"))
{
    // Identify multiple text regions within the image
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);

    // Perform OCR on the pre-processed image
    OcrResult result = ocr.Read(input);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
using IronOcr;

// Initialize the IronTesseract OCR engine
var ocr = new IronTesseract();

// Create an OcrInput object for the image
using (var input = new OcrInput("test.jpg"))
{
    // Identify multiple text regions within the image
    input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);

    // Perform OCR on the pre-processed image
    OcrResult result = ocr.Read(input);

    // Extract and print the recognized text
    string resultText = result.Text;
    Console.WriteLine(resultText);
}
Imports IronOcr

' Initialize the IronTesseract OCR engine
Private ocr = New IronTesseract()

' Create an OcrInput object for the image
Using input = New OcrInput("test.jpg")
	' Identify multiple text regions within the image
	input.FindMultipleTextRegions(Scale:= 2.0, DilationAmount:= -1, Binarize:= True, Invert:= False)

	' Perform OCR on the pre-processed image
	Dim result As OcrResult = ocr.Read(input)

	' Extract and print the recognized text
	Dim resultText As String = result.Text
	Console.WriteLine(resultText)
End Using
$vbLabelText   $csharpLabel

Explicación: El fragmento de código proporcionado anteriormente 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. Luego, inicializa un objeto OcrInput con la ruta del archivo de imagen de entrada y aplica algunas técnicas de pre-procesamiento para la corrección de imágenes usando el método FindMultipleTextRegions.

La salida 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 cuando se extraen datos de imágenes porque el texto extraído se usa a menudo para procesamiento adicional, como análisis de datos, entrada de datos manual, aprendizaje automático o procesamiento de lenguaje natural. Si el texto extraído contiene errores, puede causar problemas posteriores. Además, IronOCR permite la investigación en objetos de resultados para verificar niveles de confianza.

Casos de uso de visión artificial con reconocimiento óptico de caracteres (OCR)

La tecnología de Reconocimiento Óptico de Caracteres (OCR) ha revolucionado la forma en que se maneja el texto impreso. Las herramientas de OCR se han convertido en una parte indispensable del procesamiento de documentos y la extracción de datos. Aquí hay algunos casos de uso del software de Reconocimiento Óptico de Caracteres:

Reconocimiento de matrículas OCR

El reconocimiento de placas vehiculares juega un papel importante en la automatización de la gestión del tráfico, sistemas de estacionamiento y actividades de aplicación de la ley. Al implementar la visión por computadora OCR en C#, los desarrolladores pueden crear aplicaciones que identifican rápidamente y de manera precisa placas vehiculares de imágenes o transmisiones de video en vivo. Esta tecnología se puede utilizar para:

  • Monitorear infracciones de tráfico e identificar vehículos involucrados en actividades delictivas.
  • Automatizar los sistemas de estacionamiento, facilitando la gestión de entrada y salida y agilizando el proceso de facturación.
  • Mejorar las medidas de seguridad rastreando y monitoreando el movimiento vehicular en áreas restringidas.

Extracción de texto de facturas

La visión por computadora OCR en C# se puede utilizar para desarrollar aplicaciones OCR que automaticen la extracción de texto de facturas y otros documentos financieros. Este proceso puede reducir drásticamente los errores de entrada de datos manuales y agilizar las tareas contables. Los beneficios clave incluyen:

  • Mayor productividad al automatizar el proceso de entrada de datos.
  • Mayor precisión, ya que el OCR reduce la probabilidad de errores humanos.
  • Integración perfecta con software y sistemas contables para una gestión eficiente de los datos.

Generación de subtítulos OCR

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

  • Crear subtítulos precisos para películas, programas de TV y videos en línea.
  • Mejorar la accesibilidad para personas con discapacidades auditivas o que hablan diferentes idiomas.
  • Impulsar los esfuerzos de SEO proporcionando contenido que se pueda buscar e indexar para la plataforma de video

Procesamiento de PDF con OCR

Los archivos PDF se utilizan ampliamente para compartir y almacenar documentos, pero extraer texto de ellos puede ser un desafío. La visión por computadora OCR en C# puede ayudar a los desarrolladores a construir 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 OCR pueden extraer texto de documentos digitales escaneados, PDFs e imágenes en varios formatos. Esto es particularmente útil en la gestión de documentos, donde puede buscar, almacenar y compartir fácilmente documentos basados en texto.

Extracción de datos

La tecnología OCR es ampliamente utilizada para extraer datos de entradas de datos como facturas, recibos y formularios. Los modelos OCR pueden reconocer y extraer campos de datos clave como nombres, direcciones, fechas y montos. Esto elimina la necesidad de entrada de datos manual 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, donde puede buscar imágenes basadas en el texto que contienen. Esto es particularmente útil para grandes bibliotecas de imágenes, donde la búsqueda manual llevaría mucho tiempo.

Traducción

El software OCR se puede utilizar para extraer texto de documentos en un idioma y traducirlo a otro. Esto es particularmente útil para empresas internacionales, donde los documentos deben traducirse rápida y precisamente.

Resumen

El reconocimiento óptico de caracteres (OCR) es una tecnología que permite a las computadoras leer texto de imágenes. El OCR junto con la visión por computadora es importante porque permite a las máquinas comprender e interpretar el mundo visual, lo cual es esencial para aplicaciones como automóviles autónomos, robótica y procesamiento automático de documentos.

IronOCR es un motor OCR poderoso que se puede utilizar para aplicar OCR con visión por computadora para reconocer con precisión el texto y realizar la extracción de texto de imágenes. Proporciona una gama de métodos para encontrar y extraer regiones de texto, incluyendo 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 alta precisión de OCR.

Al usar IronOCR, puede extraer rápidamente y con precisión el texto escaneado de imágenes de entrada utilizando concurrencia y configuración personalizada, lo que puede ahorrarle tiempo y esfuerzo al tratar con grandes volúmenes de datos de imágenes de entrada. Ya sea que esté trabajando con documentos escaneados, fotografías o capturas de pantalla, IronOCR puede ayudarle a desbloquear el texto contenido en ellos.

IronOCR ofrece una prueba gratuita para los usuarios que desean probar el software antes de tomar una decisión de compra. La licencia para IronOCR comienza desde $799 e incluye soporte y actualizaciones durante un año. Con sus características robustas y precios razonables, IronOCR es una excelente opción para cualquiera que busque una solución OCR confiable con alta precisión de OCR.

Preguntas Frecuentes

¿Cómo puedo convertir una imagen a texto usando C#?

Puedes usar las funcionalidades de OCR de IronOCR para convertir imágenes a texto con C#. Utilizando métodos como Read y ReadAsync, puedes procesar imágenes para extraer texto eficientemente.

¿Cuáles son los beneficios de usar OCR con visión por computador?

Usar OCR con visión por computador permite un reconocimiento de texto más preciso a partir de diseños de imagen complejos, fuentes y estilos. IronOCR aprovecha la IA y el aprendizaje automático para mejorar la extracción de texto y automatizar el procesamiento de datos.

¿Cómo mejoras la precisión de OCR en C#?

IronOCR ofrece varios métodos para mejorar la precisión de OCR, incluyendo ajustar configuraciones, usar concurrencia e inspeccionar objetos de resultado para niveles de confianza. Esto ayuda a afinar el proceso de OCR para obtener mejores resultados.

¿Cuál es el proceso para extraer texto de múltiples regiones en una imagen?

Para extraer texto de múltiples regiones en una imagen usando IronOCR, puedes usar el método FindMultipleTextRegions. Este método devuelve una lista de objetos CropRectangle que indican la ubicación de cada región de texto.

¿Se puede usar la tecnología OCR para el reconocimiento de matrículas?

Sí, la tecnología OCR, como la proporcionada por IronOCR, se puede aplicar al reconocimiento de matrículas. Al procesar imágenes de matrículas, IronOCR puede extraer el texto para diversas aplicaciones.

¿Cómo instalas IronOCR en un proyecto de C#?

Puedes instalar IronOCR en tu proyecto de C# usando la Consola del Administrador de Paquetes NuGet. Ejecuta el comando Install-Package IronOcr para agregar la biblioteca a tu proyecto.

¿Hay una versión de prueba para probar una biblioteca OCR de C#?

Sí, IronOCR ofrece una versión de prueba gratuita, permitiendo a los usuarios probar las capacidades de la biblioteca antes de comprometerse a comprar una licencia.

¿Qué opciones de licenciamiento están disponibles para una biblioteca OCR en C#?

IronOCR proporciona varias opciones de licenciamiento a partir de $liteLicense, que incluyen soporte y actualizaciones por un año, atendiendo a diferentes necesidades y presupuestos de proyectos.

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