Reconnaissance de plaques (ANPR/LPR) en C# et .NET
Lisez les plaques d'immatriculation depuis des caméras IP, des webcams et des fichiers vidéo en C#. LicensePlateRecognizerBlock trouve chaque plaque, la lit et renvoie le texte avec un horodatage — sur l'appareil, dans le même pipeline qui affiche, enregistre et diffuse la vidéo.
À partir de €500/an · licence Lifetime à partir de €1,500
Un lecteur de plaques n'est pas un OCR général pointé sur une voiture
La reconnaissance automatique de plaques d'immatriculation — ANPR, aussi appelée ALPR, LPR ou LAPI — n'est pas un OCR général. Un OCR général lit chaque panneau, autocollant et logo de l'image et ne sait pas quel texte est la plaque. L'ANPR a besoin de deux modèles : un détecteur qui trouve les plaques et un modèle OCR entraîné sur les caractères de plaques. Il faut aussi les images — décodées depuis la caméra, prélevées à un rythme que le matériel peut suivre, sans bloquer la vidéo en direct. Dans les SDK VisioForge, LicensePlateRecognizerBlock est un bloc du pipeline vidéo : le SDK décode la source, le bloc exécute les deux modèles dans un thread d'arrière-plan, et les images continuent vers l'écran, un fichier ou un flux réseau.
Construire l'ANPR soi-même ou appeler une API cloud vs LicensePlateRecognizerBlock
| ANPR typique maison ou cloud | LicensePlateRecognizerBlock dans un pipeline VisioForge | |
|---|---|---|
| Trouver la plaque | Trouver ou entraîner un détecteur de plaques, l'exporter en ONNX, écrire le pré- et post-traitement | Détecteur de plaques FastALPR YOLOv9-T (MIT) ; DetectionConfidenceThreshold et MaxDetections |
| Lire les caractères | Un OCR général qui lit aussi tous les autres textes de l'image | Une tête fast-plate-ocr dédiée aux plaques ; Text arrive en majuscules, sans caractères non alphanumériques |
| Obtenir les images de la caméra | Un décodeur ou un grabber distinct pour chaque type de source | Toute source du SDK : caméras IP RTSP, webcams, fichiers vidéo |
| Garder la vidéo en direct fluide | La reconnaissance sur le thread de capture bloque le flux | La reconnaissance tourne dans un worker d'arrière-plan ; les images qui arrivent pendant qu'il est occupé sont ignorées et comptées |
| Plaques de différents pays | Réentraîner le modèle ou changer de fournisseur | Une tête globale pour les États-Unis et plus de 90 pays et une tête européenne pour les plaques de l'UE, choisies avec RecognitionModelPath |
| Où va la vidéo | Les images sont envoyées à un service cloud et facturées à l'appel | Nulle part : ONNX Runtime dans votre processus, sans clé d'API, sans frais à l'appel |
Ce que vous apporte le bloc ANPR
LicensePlateRecognizerBlock est fourni dans le paquet VisioForge.DotNet.Core.AI. Il a une entrée et une sortie vidéo, exécute deux modèles ONNX sur les images qu'il reçoit et signale les plaques par l'événement OnPlateRecognized.
- Reconnaissance en deux étapes : un détecteur YOLOv9-T trouve les plaques, et chaque plaque recadrée est lue par un modèle OCR dédié aux plaques ; les deux sont des modèles FastALPR sous licence MIT
- Un résultat complet par plaque : Text, Confidence (de 0 à 1), BoundingBox et le Polygon à quatre points en pixels de l'image source, avec le Timestamp de l'image dans chaque événement
- Têtes régionales : la tête globale couvre les États-Unis et plus de 90 pays, la tête européenne est optimisée pour les plaques de l'UE ; les deux lisent les caractères latins (chiffres et A–Z), et la taille d'entrée est lue dans le modèle lui-même
- Sur l'appareil : ONNX Runtime avec DirectML sur les GPU Windows, CoreML sur les plateformes Apple et le CPU en repli ; ActiveProvider indique celui qui est utilisé
- La vidéo en direct reste fluide : la reconnaissance tourne dans un worker d'arrière-plan, FramesToSkip fixe sa fréquence, et LastInferenceTimeMs et DroppedFrameCount montrent si le matériel suit
- Reconnaissance et enregistrement ensemble : DrawResults dessine les cadres et le texte des plaques dans les images qui continuent vers l'aperçu, un fichier ou un flux
- Un bloc pour chaque moteur : connectez-le dans un pipeline Media Blocks SDK .NET, ou ajoutez-le avec Video_Processing_AddBlock à VideoCaptureCoreX ou MediaPlayerCoreX
Où l'utiliser
Accès et paiement de parking
Reconnaître la plaque devant une caméra d'entrée pour ouvrir la barrière ou démarrer une session de stationnement.
Journal de péage et de contrôle d'accès
Enregistrer quelles plaques sont passées devant une caméra fixe et quand, avec la vidéo conservée sur site.
Gestion de flotte et de parc
Suivre les véhicules qui entrent et sortent d'un site privé ou d'un dépôt.
Outils de contrôle du trafic
Signaler des plaques pour une vérification manuelle ; les décisions finales de sanction doivent toujours inclure un contrôle humain.
Exemples de code
Tirés de la License Plate Recognition Demo, qui fournit les trois fichiers de modèle FastALPR ; le second exemple ajoute le bloc à VideoCaptureCoreX comme la démo Capture OCR X ajoute son bloc d'IA.
Journaliser les plaques d'une caméra d'entrée
C#Afficher une caméra IP, lister les plaques et enregistrer en MP4
C#Pipeline
Dans l'exemple d'entrée, LicensePlateRecognizerBlock se place entre la caméra et un renderer nul. Les plaques sortent par l'événement OnPlateRecognized ; avec DrawResults activé, les images portent les cadres et le texte vers le bloc suivant.
Questions fréquentes
La vidéo quitte-t-elle la machine ?▼
Les plaques de quels pays peut-il lire ?▼
Dois-je entraîner mon propre modèle ?▼
Et les scènes chargées avec beaucoup de véhicules ou des plaques lointaines ?▼
De quel SDK ai-je besoin ?▼
Les plaques d'immatriculation sont-elles des données personnelles ?▼
Documentation et exemples
Guide de reconnaissance de plaques
LicensePlateRecognizerBlock et ses paramètres : modèles, têtes régionales, chaque paramètre avec sa valeur par défaut, dépannage.
License Plate Recognition Demo (WPF)
Exemple Media Blocks SDK .NET : ANPR sur une webcam, un fichier vidéo ou une caméra RTSP, avec les modèles FastALPR fournis.
Blocs d'IA dans VideoCaptureCoreX et MediaPlayerCoreX
Comment ajouter des blocs de traitement aux moteurs de capture et de lecture : ordre d'insertion et cycle de vie.
Détection d'objets
YOLOObjectDetectorBlock : détecter les véhicules en amont de l'ANPR sur les scènes chargées.
Masquage des données personnelles
PIIRedactionBlock : flouter ou pixelliser plaques, visages et texte à l'écran dans la vidéo, sur l'appareil.
OCR pour les flux vidéo
OcrBlock pour tout le reste du texte de la vidéo : panneaux, étiquettes, bandeaux et contenu d'écran.
Commencez à lire des plaques
Téléchargez la version d'essai de 30 jours entièrement fonctionnelle et lancez la License Plate Recognition Demo. Selon le moteur et la sortie, un filigrane ou un avis de version non enregistrée peut apparaître.
SDK avec reconnaissance de plaques
Media Blocks SDK .NET
SDK de pipeline : placez LicensePlateRecognizerBlock entre n'importe quelle source et un renderer, un encodeur ou une sortie réseau.
En savoir plus →Video Capture SDK .NET
SDK de capture : ajoutez le bloc à VideoCaptureCoreX et lisez les plaques des caméras pendant l'aperçu et l'enregistrement.
En savoir plus →Media Player SDK .NET
SDK de lecture : ajoutez le bloc à MediaPlayerCoreX et lisez les plaques des fichiers et flux que vous lisez.
En savoir plus →À partir de €500/an · licence Lifetime à partir de €1,500
