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 de plaque 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.
Comment lire les plaques d'immatriculation avec IronOCR
Pour lire une plaque d'immatriculation dans IronOCR, nous devons appliquer les étapes suivantes :
Nous utilisons la méthode ReadLicensePlate, qui prend un OcrInput en tant que paramètre pour l'entrée. Cette méthode est plus optimisée pour les plaques d'immatriculation précisément que le pendant 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.
A noter
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.
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
Sortie
Notez que nous devons d'abord importer l'image en tant que OcrInput pour transmettre 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.
Texte : Le texte extrait de l'entrée OCR.
Confiance : Une propriété "double" qui indique le niveau de confiance statistique en précision de la moyenne de chaque caractère, un étant le plus haut et 0 étant 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.
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
Sortie
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.
Prêt à commencer ? Version : 2025.3 vient de paraître
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier