Cómo leer placas de matrícula en C# OCR

Cómo leer matrículas en C# con IronOCR

This article was translated from English: Does it need improvement?
Translated
View the article in English

Al gestionar un gran volumen de imágenes de vehículos, leer matrículas manualmente consume mucho tiempo y es propenso a errores humanos. Automatizar este proceso con una herramienta como IronOCR proporciona una solución más eficiente y precisa. El método ReadLicensePlate de IronOCR puede extraer programáticamente números de matrícula de las imágenes, ahorrando considerable tiempo mientras mejora la precisión de los datos.

En esta guía, demostraremos cómo usar IronOCR para el reconocimiento de matrículas, recorriendo ejemplos y configuraciones personalizables que hacen que el proceso sea fluido. Aprovechando estos métodos, los desarrolladores pueden automatizar la lectura de matrículas, haciendo que tareas como la gestión de estacionamientos, cobro de peajes o vigilancia de seguridad sean más eficientes.

Para usar esta función, también debes instalar el paquete IronOcr.Extension.AdvancedScan.

como-título:2(Inicio rápido: Extraer número de matrícula instantáneamente)

Con una sola llamada de método usando el ReadLicensePlate de IronOCR, puedes extraer programáticamente el texto de la matrícula de cualquier imagen. Está listo para usar: solo carga una imagen, llama al método y obtén el número de placa y la confianza de inmediato.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronOCR con el gestor de paquetes NuGet

    PM > Install-Package IronOcr

  2. Copie y ejecute este fragmento de código.

    OcrLicensePlateResult result = new IronTesseract().ReadLicensePlate(new OcrInput("plate.jpg"));
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronOCR en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Ejemplo de lectura de matrícula

Para leer una matrícula en IronOCR, debemos aplicar los siguientes pasos:

  • Utilizamos el método ReadLicensePlate, que toma un OcrInput como parámetro para la entrada. Este método está más optimizado para matrículas que su contraparte estándar Read de la biblioteca.
  • Opcionalmente, podemos configurar IronOCR para que permita solo caracteres específicos que pueden existir en una matrícula, para acelerar el procesamiento del número de matrícula.

@@--SOPORTE-i-ABIERTO--@@

  • El método actualmente solo funciona para scripts de alfabetos en inglés, chino, japonés, coreano y latino.
  • Usar escaneo avanzado en .NET Framework requiere que el proyecto se ejecute en arquitectura x64. @@--CIERRE DE SOPORTE--@@

Matrícula

Matrícula

Código

:path=/static-assets/ocr/content-code-examples/how-to/read-license-plate-read-license-plate.cs
using IronOcr;
using System;

var ocr = new IronTesseract();
ocr.Configuration.WhiteListCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";

using var inputLicensePlate = new OcrInput();
inputLicensePlate.LoadImage("plate.jpeg");

// Read license plate
OcrLicensePlateResult result = ocr.ReadLicensePlate(inputLicensePlate);

// Retrieve license plate number and confidence value
string output = $"{result.Text}\nResult Confidence: {result.Confidence}";

Console.WriteLine(output);
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
ocr.Configuration.WhiteListCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"

Dim inputLicensePlate = New OcrInput()
inputLicensePlate.LoadImage("plate.jpeg")

' Read license plate
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(inputLicensePlate)

' Retrieve license plate number and confidence value
Dim output As String = $"{result.Text}" & vbLf & "Result Confidence: {result.Confidence}"

Console.WriteLine(output)
$vbLabelText   $csharpLabel

Resultado

Resultado de matrícula

El código demuestra cómo importar una imagen como un OcrInput y usarlo con el método ReadLicensePlate para extraer el texto de la matrícula. La salida muestra el texto extraído que coincide con la matrícula mostrada en la imagen de entrada, junto con un nivel de confianza que indica la precisión del OCR.

Texto: El texto extraído de la entrada de OCR.

Confianza: Una propiedad "double" que indica la confianza estadística en la precisión de un promedio de cada carácter, siendo uno el más alto y 0 el más bajo.


Imagen de matrícula de un coche

El método también funciona bien con imágenes que contienen un coche con matrícula. El código es exactamente el mismo que el anterior, con la imagen de entrada cambiada. También puedes extraer las coordenadas de píxeles del área donde se encuentra la matrícula en la imagen.

Entrada de ejemplo

Matrícula de coche

:path=/static-assets/ocr/content-code-examples/how-to/read-license-plate-read-from-car.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

var ocr = new IronTesseract();
using var inputLicensePlate = new OcrInput();
inputLicensePlate.LoadImage("car_license.jpg");

// Read license plate
OcrLicensePlateResult result = ocr.ReadLicensePlate(inputLicensePlate);

// Retrieve license plate coordinates
RectangleF rectangle = result.Licenseplate;

// Write license plate value and coordinates in a string
string output = $"License Plate Number:\n{result.Text}\n\n"
              + $"License Plate Area_\n"
              + $"Starting X: {rectangle.X}\n"
              + $"Starting Y: {rectangle.Y}\n"
              + $"Width: {rectangle.Width}\n"
              + $"Height: {rectangle.Height}";

Console.WriteLine(output);
Imports Microsoft.VisualBasic
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

Private ocr = New IronTesseract()
Private inputLicensePlate = New OcrInput()
inputLicensePlate.LoadImage("car_license.jpg")

' Read license plate
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(inputLicensePlate)

' Retrieve license plate coordinates
Dim rectangle As RectangleF = result.Licenseplate

' Write license plate value and coordinates in a string
Dim output As String = $"License Plate Number:" & vbLf & "{result.Text}" & vbLf & vbLf & $"License Plate Area_" & vbLf & $"Starting X: {rectangle.X}" & vbLf & $"Starting Y: {rectangle.Y}" & vbLf & $"Width: {rectangle.Width}" & vbLf & $"Height: {rectangle.Height}"

Console.WriteLine(output)
$vbLabelText   $csharpLabel

Resultado

Resultado de matrícula de coche

El ejemplo muestra cómo se puede aplicar el método ReadLicensePlate a una imagen de un coche. El método también devolverá las coordenadas del rectángulo donde la matrícula está situada en la imagen.

Este método está optimizado para encontrar solo matrículas individuales y es capaz de buscarlas en imágenes de stock.

Preguntas Frecuentes

¿Cómo puedo automatizar el reconocimiento de matrículas en C#?

Puedes automatizar el reconocimiento de matrículas en C# usando el método ReadLicensePlate de IronOCR. Este método te permite extraer números de matrículas de imágenes, mejorando la eficiencia y precisión en comparación con métodos manuales.

¿Qué pasos están involucrados en la lectura de una matrícula usando IronOCR?

Para leer una matrícula usando IronOCR, descarga la biblioteca C#, importa la imagen de la matrícula como un OcrInput y usa el método ReadLicensePlate para extraer los datos. Luego puedes acceder a la propiedad OcrLicensePlateResult para realizar más manipulaciones.

¿Puede IronOCR manejar imágenes de coches con matrículas visibles?

Sí, IronOCR puede leer matrículas de imágenes de coches. También puede proporcionar las coordenadas de píxeles de la ubicación de la matrícula dentro de la imagen.

¿Qué idiomas son compatibles con IronOCR para la lectura de matrículas?

El método ReadLicensePlate de IronOCR soporta inglés, chino, japonés, coreano y alfabetos latinos para la lectura de matrículas.

¿Cómo puede mejorar la configuración de listas blancas de caracteres el reconocimiento de matrículas?

Configurando IronOCR para permitir solo caracteres específicos comúnmente encontrados en matrículas, puedes mejorar el rendimiento del reconocimiento y acelerar el procesamiento de números de matrículas.

¿Qué paquete adicional es necesario para el escaneo avanzado de matrículas?

Para capacidades avanzadas de escaneo, necesitas instalar el paquete IronOcr.Extensions.AdvancedScan.

¿Cuál es el significado del nivel de confianza en el reconocimiento de matrículas?

El nivel de confianza en el reconocimiento de matrículas indica la precisión estadística del proceso de OCR, en un rango de 0 a 1, donde 1 representa la máxima confianza.

¿Cómo está optimizado IronOCR para leer matrículas en .NET Framework?

IronOCR está optimizado para leer matrículas en .NET Framework cuando se ejecuta en arquitectura x64, asegurando un procesamiento eficiente y un rendimiento de reconocimiento.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 5,167,857 | Version: 2025.11 recién lanzado