Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
El reconocimiento de matrículas se ha convertido en una herramienta esencial en muchas industrias, desde la gestión del tráfico y los sistemas de estacionamiento hasta la aplicación de la ley y las soluciones de peaje. AprovechandoReconocimiento óptico de caracteres (OCR)tecnología, los desarrolladores pueden extraer texto de imágenes de manera eficiente, automatizando el proceso de identificación de matrículas. En este tutorial, demostraremos cómo usarIronOCRuna potente biblioteca OCR de C#, para leer con precisión las matrículas de las imágenes. Con su integración perfecta con el código fuente de OpenCV para tareas de visión por computadora, IronOCR ofrece una solución robusta para reconocer texto incluso desde fuentes de imágenes complejas o ruidosas. Ya sea que estés trabajando con una imagen nítida de una placa de matrícula o una foto completa de un vehículo, esta guía te llevará a través de los pasos para construir un sistema confiable de reconocimiento de placas de matrícula utilizando técnicas modernas de OCR.
1.Instala la biblioteca C# para utilizar el reconocimiento de matrículas.
Importa la imagen de la placa a una nueva instancia de OcrImageInput
Aplicar filtros de imagen para mejorar la extracción de texto en C#
Mejore la velocidad de reconocimiento especificando la región de la matrícula en la foto.
IronOCR es una biblioteca OCR de C# construida sobre el motor OCR Tesseract, específicamente diseñada para aportar alta precisión y eficiencia a proyectos de reconocimiento de texto en aplicaciones .NET. Ideal para manejar imágenes ruidosas o de baja calidad, IronOCR incluye potentes capacidades de preprocesamiento de imágenes como reducción automática de ruido y conversión a escala de grises, que mejoran la claridad de la extracción de texto.
Algunas de las características destacadas de IronOCR incluyen:
Opciones de entrada flexibles: Admite documentos de varias páginas y regiones ajustables, permitiendo a los desarrolladores centrar el procesamiento de OCR en áreas seleccionadas para obtener resultados más rápidos y específicos.
Con estas capacidades, IronOCR es una solución poderosa para desarrollar aplicaciones OCR que requieren precisión, flexibilidad y facilidad de integración con otras herramientas de visión por computadora.
Comience abriendo Visual Studio y seleccionando "Crear un nuevo proyecto". Esto te llevará a una página donde puedes seleccionar el tipo de proyecto que deseas construir.(en nuestro caso, vamos a crear una aplicación de consola). Seleccione el tipo de aplicación deseado y haga clic en "Siguiente".
Ahora, dale un nombre a tu proyecto y elige la ubicación donde se guardará.
Finalmente, seleccione su marco .NET de destino y haga clic en el botón "Crear". Esto creará el proyecto, como se muestra a continuación.
El siguiente paso es instalar la biblioteca IronOCR para que podamos comenzar a procesar matrículas.
Para comenzar con IronOCR en su proyecto C#, necesitará instalar el paquete IronOCR desde NuGet. IronOCR es compatible con .NET Framework y .NET Core, lo que facilita su integración en diversas aplicaciones .NET.
En Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes.
Ingrese el siguiente comando en la Consola del Administrador de Paquetes:
Install-Package IronOcr
Install-Package IronOcr
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronOcr
Este comando instala la biblioteca IronOCR, incluyendo todas las dependencias necesarias para ejecutar funciones de OCR en tu proyecto. Como nuestra aplicación requiere funciones avanzadas como la detección de matrículas utilizando visión por computadora, también puede instalar el paquete opcional IronOcr.ComputerVision.Windows de esta manera:
Install-Package IronOcr.ComputerVision.Windows
Install-Package IronOcr.ComputerVision.Windows
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronOcr.ComputerVision.Windows
Y asegúrese de tener el IronOcr.Extensions.AdvancedScanextensión instalada para que puedas utilizar su poderoso método ReadLicensePlate:
Install-Package IronOcr.Extensions.AdvancedScan
Install-Package IronOcr.Extensions.AdvancedScan
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronOcr.Extensions.AdvancedScan
Alternativamente, puedes instalar los paquetes utilizando Herramientas > Administrador de paquetes NuGet > Administrar paquetes NuGet para la solución y buscar los paquetes que necesitas:
Finalmente, debemos agregar las importaciones necesarias y las declaraciones de using al principio de nuestro código:
using IronOcr;
using IronOcr;
Imports IronOcr
En esta sección, crearemos un programa para leer matrículas utilizando IronOCR, un motor OCR de Tesseract que sobresale en extraer texto de imágenes. Para implementar la detección de vehículos, también podemos incorporar bibliotecas adicionales de aprendizaje automático. Notablemente, IronOCR se integra con OpenCV, una biblioteca líder de visión por computadora de código abierto, lo que nos permite realizar tareas de detección de objetos como la identificación de vehículos y matrículas.
Trabajaremos con la siguiente matrícula:
A continuación, añade el siguiente código para realizar OCR en la matrícula:
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrImageInput("licensePlate.jpeg"))
{
// Fixing the digital noise and making the image easier to read
input.DeNoise();
input.ToGrayScale();
// Using the OcrLicensePlateResult and ReadLicensePlate methods to read the license plate information and store it for further use
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
// Saving the license plate text to a string variable
string output = result.Text;
// Outputting the license plate text to the console
Console.WriteLine(output);
}
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrImageInput("licensePlate.jpeg"))
{
// Fixing the digital noise and making the image easier to read
input.DeNoise();
input.ToGrayScale();
// Using the OcrLicensePlateResult and ReadLicensePlate methods to read the license plate information and store it for further use
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
// Saving the license plate text to a string variable
string output = result.Text;
// Outputting the license plate text to the console
Console.WriteLine(output);
}
Imports IronOcr
Private ocr = New IronTesseract()
Using input = New OcrImageInput("licensePlate.jpeg")
' Fixing the digital noise and making the image easier to read
input.DeNoise()
input.ToGrayScale()
' Using the OcrLicensePlateResult and ReadLicensePlate methods to read the license plate information and store it for further use
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(input)
' Saving the license plate text to a string variable
Dim output As String = result.Text
' Outputting the license plate text to the console
Console.WriteLine(output)
End Using
Desglose del código:
Procesamiento de imágenes:
OcrLicensePlateResult result = ocr.ReadLicensePlate
(entrada); utiliza el método ReadLicensePlate para analizar la imagen procesada y extraer cualquier información de la placa de matrícula que detecte, almacenando los resultados en unOcrLicensePlateResult objeto.Si tenemos una imagen de todo un coche en lugar de solo la matrícula, podemos especificar una región rectangular para centrarnos en el área de la matrícula. Podemos usarSystem.Drawing.Rectangledefinir esta área en píxeles.
Usaremos el siguiente archivo de imagen para nuestro ejemplo:
Al especificar el área de interés, mejoramos la velocidad de procesamiento y evitamos extraer texto innecesario.
using IronOcr;
using System.Drawing;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
var contentArea = new Rectangle(x: 252, y: 282, width: 148, height: 47);
input.LoadImage("CarPlate.jpeg", contentArea);
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
Console.WriteLine(result.Text);
}
using IronOcr;
using System.Drawing;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
var contentArea = new Rectangle(x: 252, y: 282, width: 148, height: 47);
input.LoadImage("CarPlate.jpeg", contentArea);
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
Console.WriteLine(result.Text);
}
Imports IronOcr
Imports System.Drawing
Private ocr = New IronTesseract()
Using input = New OcrInput()
Dim contentArea = New Rectangle(x:= 252, y:= 282, width:= 148, height:= 47)
input.LoadImage("CarPlate.jpeg", contentArea)
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(input)
Console.WriteLine(result.Text)
End Using
Desglose de Código:
IronOCR utiliza OpenCV para identificar regiones de texto dentro de imágenes, empleando diversas técnicas de procesamiento de imágenes. Esta funcionalidad permite al programa detectar matrículas localizando áreas de texto en la imagen y luego utilizando Tesseract para leer esas regiones.
Para habilitar el modelo de detección de matrículas, instale el paquete requerido a través de la Consola del Administrador de Paquetes:
var ocr = new IronTesseract();
using (var input = new OcrImageInput("CarPlate.jpeg"))
{
input.FindTextRegion();
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
Console.WriteLine(result.Text);
}
var ocr = new IronTesseract();
using (var input = new OcrImageInput("CarPlate.jpeg"))
{
input.FindTextRegion();
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
Console.WriteLine(result.Text);
}
Dim ocr = New IronTesseract()
Using input = New OcrImageInput("CarPlate.jpeg")
input.FindTextRegion()
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(input)
Console.WriteLine(result.Text)
End Using
Desglose de Código:
Para aquellos que quieran probar IronOCR por sí mismos, IronOCR ofrece unprueba gratuitalo que le otorga acceso a toda la gama de herramientas que tiene para ofrecer, lo que significa que puede probarlas en sus propios proyectos antes de comprar una licencia. Una vez que su prueba gratuita termine,Licenciamiento de IronOCRcomienza desde solo $749 para la licencia Lite. También ofrece complementos opcionales por un costo adicional, como la cobertura de redistribución libre de regalías y soporte ininterrumpido junto con actualizaciones continuas del producto.
Más allá de esto, si te encuentras necesitando usar más productos de IronSoftware además de solo IronOCR, como IronPDF para tus tareas relacionadas con PDF o IronWord para trabajar con documentos de Word, entonces IronSoftware también ofreceIronSuite, que es una excelente manera de tener acceso a toda la gama de herramientas a un gran precio.
En esta guía, hemos explorado cómo construir un sistema confiable de reconocimiento de matrículas en C# usando IronOCR. Con sus potentes capacidades de extracción de texto e integración con OpenCV, IronOCR proporciona una solución eficiente y fácil de usar para aplicaciones que requieren un reconocimiento de texto preciso a partir de imágenes de vehículos. Desde el preprocesamiento de la imagen hasta la configuración de regiones de detección específicas, IronOCR simplifica el proceso de OCR con herramientas diseñadas para imágenes ruidosas o complejas, como las matrículas en el tráfico y los vídeos de vigilancia.
Ya sea que esté desarrollando para el monitoreo de tráfico, la aplicación de estacionamiento o cualquier aplicación que requiera reconocimiento automático de matrículas, IronOCR ofrece una biblioteca completa que se integra perfectamente en entornos .NET. Al seguir estos pasos, estarás preparado para implementar soluciones impulsadas por OCR que mejoran la eficiencia y precisión en diversos escenarios del mundo real. Con características adicionales como la selección de región y reducción de ruido, IronOCR garantiza que tus tareas de reconocimiento de matrículas estén optimizadas para obtener los mejores resultados posibles.
9 productos API .NET para sus documentos de oficina