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

How to Read License Plates using IronOCR

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

When managing a large volume of vehicle images, manually reading license plates is time-consuming and prone to human error. Automating this process with a tool like IronOCR provides a more efficient, accurate solution. IronOCR's ReadLicensePlate method can programmatically extract license plate numbers from images, saving considerable time while improving data accuracy.

In this guide, we’ll demonstrate how to use IronOCR for license plate recognition, walking through examples and customizable configurations that make the process seamless. By leveraging these methods, developers can automate license plate reading, making tasks like parking management, toll collection, or security surveillance more efficient.

To use this function, you must also install the IronOcr.Extension.AdvancedScan package.

Quickstart: Extract License Plate Number Instantly

With a single method call using IronOCR’s ReadLicensePlate, you can programmatically extract the license plate text from any image. It’s ready to use—just load an image, call the method, and get both the plate number and confidence right away.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. Copy and run this code snippet.

    OcrLicensePlateResult result = new IronTesseract().ReadLicensePlate(new OcrInput("plate.jpg"));
  3. Deploy to test on your live environment

    Start using IronOCR in your project today with a free trial
    arrow pointer

Read License Plate Example

To read a license plate in IronOCR, we have to apply the following steps:

  • We utilize the ReadLicensePlate method, which takes an OcrInput as a parameter for the input. This method is more optimized for license plates precisely than the library's standard Read counterpart.
  • Optionally, we can configure IronOCR to whitelist specific characters only that can exist in a license plate, to speed up the license plate number processing.

Por favor nota

  • The method currently only works for English, Chinese, Japanese, Korean, and Latin alphabet scripts.
  • Using advanced scan on .NET Framework requires the project to run on x64 architecture.

License Plate

License plate

Code

: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

Output

License plate result

The code demonstrates how to import an image as an OcrInput and use it with the ReadLicensePlate method to extract the text from the license plate. The output shows the extracted text that matches the license plate shown in the input image, along with a confidence level indicating the accuracy of the OCR.

Text: The extracted text from OCR Input.

Confidence: A "double" property that indicates the statistical accuracy confidence of an average of every character, with one being the highest and 0 being the lowest.


License Plate From a Car Image

The method also works well with images containing a car with a license plate. The code is the exact same as the one above, with the input image changed. You can also extract the pixel coordinates of the area where the license plate is situated in the image.

Example Input

Car license plate

: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

Output

Car license plate result

The example shows how the ReadLicensePlate method can be applied to an image of a car. The method will also return the rectangle coordinates of where the license plate is situated in the image.

This method is optimized to find single license plates only and is capable of searching for them in stock images.

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,044,537 | Versión: 2025.11 recién lanzado