Mise à jour février 16, 2025
Partager:

Comment lire les plaques d'immatriculation avec IronOCR

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

par Curtis Chau

Lorsqu'il s'agit de gérer un grand volume d'images de véhicules, la lecture manuelle des plaques d'immatriculation est longue et sujette à des erreurs humaines. Automatiser ce processus avec un outil comme IronOCR offre une solution plus efficace et précise. La méthode ReadLicensePlate d'IronOCR peut extraire de manière programmatique les numéros d'immatriculation à partir d'images, ce qui permet de gagner un temps considérable tout en améliorant la précision des données.

Dans ce guide, nous allons démontrer comment utiliser IronOCR pour la reconnaissance de plaques d'immatriculation, en parcourant des exemples et des configurations personnalisables qui rendent le processus fluide. En utilisant ces méthodes, les développeurs peuvent automatiser la lecture des plaques d'immatriculation, rendant ainsi des tâches comme la gestion de stationnement, la collecte de péage ou la surveillance de sécurité plus efficaces.

Commencez à utiliser IronOCR dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer

Pour utiliser cette fonction, vous devez également installer le IronOcr.Extension.AdvancedScan l'emballage.

Lire l'exemple de la plaque d'immatriculation

Pour lire une plaque d'immatriculation dans IronOCR, nous devons appliquer les étapes suivantes :

  • Nous utilisons la méthode ReadLicensePlate, qui prend un OcrInput comme paramètre pour l'entrée. Cette méthode est plus optimisée pour les plaques d'immatriculation précisément que la version standard Read de la bibliothèque.
  • Optionnel : Nous pouvons configurer IronOCR pour autoriser uniquement les caractères spécifiques qui peuvent exister dans une plaque d'immatriculation, afin d'accélérer le traitement du numéro de la plaque d'immatriculation.

    [{i :(

  • La méthode ne fonctionne actuellement que pour l'anglais, le chinois, le japonais, le coréen et l'alphabet latin.
  • L'utilisation de l'analyse avancée sur le Framework .NET nécessite que le projet soit exécuté sur une architecture x64.

    )}]

Plaque d'immatriculation

Plaque d'immatriculation

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)
VB   C#

Sortie

Résultat de la plaque d'immatriculation

Notez que nous devons d'abord importer l'image en tant qu'OcrInput pour passer correctement le paramètre à la méthode ReadLicensePlate.

Comme vous pouvez le voir à partir de la sortie de la console, le texte extrait correspond à la plaque d'immatriculation et à l'état affichés dans l'image d'entrée.

Le texte extrait de l'entrée OCR.

Confiance : Une propriété "double" qui indique la confiance en la précision statistique d'une moyenne de chaque caractère, où un est le plus haut et 0 est le plus bas.


Plaque d'immatriculation à partir d'une image de voiture

La méthode fonctionne également bien avec des images uniques contenant une voiture avec une plaque d'immatriculation. Le code est exactement le même que celui ci-dessus, à l'exception de l'image d'entrée qui a été modifiée. Vous pouvez également extraire les coordonnées en pixels de la zone où la plaque d'immatriculation est située dans l'image.

Exemple d'entrée :

Plaque d'immatriculation

: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)
VB   C#

Sortie

Résultat de plaque d'immatriculation de voiture

Comme vous pouvez le voir, la sortie correspond à la plaque d'immatriculation montrée ci-dessus et la zone rectangulaire exacte de la plaque d'immatriculation dans l'image est également extraite correctement.

Cette méthode est optimisée pour trouver uniquement des plaques d'immatriculation uniques et est capable de les rechercher dans des images stock.