Kennzeichenerkennung (ANPR/LPR) in C# und .NET
Fahrzeugkennzeichen aus IP-Kameras, Webcams und Videodateien in C# lesen. LicensePlateRecognizerBlock findet jedes Kennzeichen, liest es und meldet den Text mit Zeitstempel — lokal auf dem Gerät, in derselben Pipeline, die das Video anzeigt, aufzeichnet und streamt.
Ab €500/Jahr · Lifetime-Lizenz ab €1,500
Ein Kennzeichenleser ist keine allgemeine OCR, die auf ein Auto zeigt
Automatische Kennzeichenerkennung — ANPR, auch ALPR, LPR oder Nummernschilderkennung genannt — ist keine allgemeine OCR. Allgemeine OCR liest jedes Schild, jeden Aufkleber und jedes Logo im Bild und weiß nicht, welcher Text das Kennzeichen ist. ANPR braucht zwei Modelle: einen Detektor, der Kennzeichen findet, und ein OCR-Modell, das auf Kennzeichenzeichen trainiert ist. Dazu kommen die Frames — von der Kamera dekodiert, in einer Rate ausgewählt, mit der die Hardware mithält, ohne das Live-Video anzuhalten. In den VisioForge SDKs ist LicensePlateRecognizerBlock ein Block der Videopipeline: Das SDK dekodiert die Quelle, der Block führt beide Modelle in einem Hintergrund-Thread aus, und die Frames laufen weiter zum Bildschirm, in eine Datei oder in einen Netzwerkstream.
ANPR selbst bauen oder eine Cloud-API aufrufen vs. LicensePlateRecognizerBlock
| Typisches Eigen- oder Cloud-ANPR | LicensePlateRecognizerBlock in einer VisioForge-Pipeline | |
|---|---|---|
| Kennzeichen finden | Einen Kennzeichendetektor finden oder trainieren, nach ONNX exportieren, Vor- und Nachverarbeitung schreiben | FastALPR-Kennzeichendetektor YOLOv9-T (MIT); DetectionConfidenceThreshold und MaxDetections |
| Zeichen lesen | Allgemeine OCR, die auch jeden anderen Text im Bild liest | Ein kennzeichenspezifischer fast-plate-ocr-Kopf; Text kommt in Großbuchstaben, ohne nicht-alphanumerische Zeichen |
| Frames von der Kamera holen | Ein eigener Decoder oder Frame-Grabber für jede Art von Quelle | Jede SDK-Quelle: RTSP-IP-Kameras, Webcams, Videodateien |
| Live-Video flüssig halten | Erkennung im Capture-Thread hält den Stream an | Die Erkennung läuft in einem Hintergrund-Worker; Frames, die währenddessen eintreffen, werden übersprungen und gezählt |
| Kennzeichen aus verschiedenen Ländern | Modell neu trainieren oder Anbieter wechseln | Ein globaler Kopf für die USA und über 90 Länder und ein europäischer Kopf für EU-Kennzeichen, ausgewählt über RecognitionModelPath |
| Wohin das Video geht | Frames gehen an einen Cloud-Dienst und werden pro Aufruf abgerechnet | Nirgendwohin: ONNX Runtime in Ihrem Prozess, kein API-Schlüssel, keine Gebühr pro Aufruf |
Was der ANPR-Block bietet
LicensePlateRecognizerBlock ist im Paket VisioForge.DotNet.Core.AI enthalten. Er hat einen Videoeingang und einen Videoausgang, führt zwei ONNX-Modelle auf den empfangenen Frames aus und meldet Kennzeichen über das Ereignis OnPlateRecognized.
- Zweistufige Erkennung: Ein YOLOv9-T-Detektor findet die Kennzeichen, und jedes ausgeschnittene Kennzeichen wird von einem kennzeichenspezifischen OCR-Modell gelesen; beide sind FastALPR-Modelle unter MIT-Lizenz
- Ein vollständiges Ergebnis pro Kennzeichen: Text, Confidence (0 bis 1), BoundingBox und das Vier-Punkte-Polygon in Pixeln des Quellframes, mit dem Frame-Timestamp in jedem Ereignis
- Regionale Köpfe: Der globale Kopf deckt die USA und über 90 Länder ab, der europäische Kopf ist auf EU-Kennzeichen abgestimmt; beide lesen lateinische Zeichen (Ziffern und A–Z), die Eingabegröße wird aus dem Modell selbst gelesen
- Lokal auf dem Gerät: ONNX Runtime mit DirectML auf Windows-GPUs, CoreML auf Apple-Plattformen und der CPU als Fallback; ActiveProvider zeigt, welcher verwendet wird
- Live-Video bleibt flüssig: Die Erkennung läuft in einem Hintergrund-Worker, FramesToSkip legt fest, wie oft sie läuft, und LastInferenceTimeMs und DroppedFrameCount zeigen, wie die Hardware mithält
- Erkennung neben der Aufnahme: DrawResults zeichnet Kennzeichenrahmen und Text in die Frames, die weiter zur Vorschau, in eine Datei oder in einen Stream gehen
- Ein Block für jede Engine: im Media Blocks SDK .NET in die Pipeline einbinden oder mit Video_Processing_AddBlock zu VideoCaptureCoreX oder MediaPlayerCoreX hinzufügen
Wo es eingesetzt wird
Parkplatzzufahrt und Bezahlung
Das Kennzeichen an einer Schrankenkamera erkennen, um die Schranke zu öffnen oder einen Parkvorgang zu starten.
Maut- und Zufahrtsprotokollierung
Festhalten, welche Kennzeichen eine feste Kamera wann passiert haben, mit dem Video vor Ort.
Flotten- und Hofmanagement
Fahrzeuge verfolgen, die ein privates Gelände oder Depot befahren und verlassen.
Werkzeuge zur Verkehrsprüfung
Kennzeichen zur manuellen Prüfung markieren; endgültige Durchsetzungsentscheidungen sollten immer eine menschliche Kontrolle enthalten.
Codebeispiele
Auf Basis der License Plate Recognition Demo, die die drei FastALPR-Modelldateien mitliefert; das zweite Beispiel fügt den Block zu VideoCaptureCoreX hinzu, so wie die Capture OCR X Demo ihren KI-Block hinzufügt.
Kennzeichen einer Schrankenkamera protokollieren
C#IP-Kamera anzeigen, Kennzeichen auflisten und als MP4 aufzeichnen
C#Pipeline
Im Schrankenbeispiel sitzt LicensePlateRecognizerBlock zwischen der Kamera und einem Null-Renderer. Kennzeichen verlassen den Block über das Ereignis OnPlateRecognized; mit DrawResults tragen die Frames Rahmen und Text zum nächsten Block.
Häufig gestellte Fragen
Verlässt das Video den Rechner?▼
Kennzeichen welcher Länder kann es lesen?▼
Muss ich ein eigenes Modell trainieren?▼
Was ist mit belebten Szenen mit vielen Fahrzeugen oder weit entfernten Kennzeichen?▼
Welches SDK brauche ich?▼
Sind Kennzeichen personenbezogene Daten?▼
Dokumentation und Beispiele
Leitfaden zur Kennzeichenerkennung
LicensePlateRecognizerBlock und seine Einstellungen: Modelle, regionale Köpfe, jede Einstellung mit ihrem Standardwert, Fehlerbehebung.
License Plate Recognition Demo (WPF)
Beispiel für das Media Blocks SDK .NET: ANPR mit einer Webcam, einer Videodatei oder einer RTSP-Kamera, mit den mitgelieferten FastALPR-Modellen.
KI-Blöcke in VideoCaptureCoreX und MediaPlayerCoreX
Wie Verarbeitungsblöcke zu den Capture- und Player-Engines hinzugefügt werden: Einfügereihenfolge und Lebenszyklus.
Objekterkennung
YOLOObjectDetectorBlock: Fahrzeuge in belebten Szenen vor ANPR erkennen.
PII-Schwärzung
PIIRedactionBlock: Kennzeichen, Gesichter und Bildschirmtext im Video lokal verwischen oder verpixeln.
OCR für Videostreams
OcrBlock für allen anderen Text im Video: Schilder, Etiketten, Bauchbinden und Bildschirminhalte.
Kennzeichen lesen
Laden Sie die voll funktionsfähige 30-Tage-Testversion herunter und starten Sie die License Plate Recognition Demo. Je nach Engine und Ausgabe kann ein Wasserzeichen oder ein Hinweis auf eine nicht registrierte Version erscheinen.
SDKs mit Kennzeichenerkennung
Media Blocks SDK .NET
Pipeline-SDK: LicensePlateRecognizerBlock zwischen eine beliebige Quelle und einen Renderer, Encoder oder Netzwerkausgang setzen.
Mehr erfahren →Video Capture SDK .NET
Capture-SDK: den Block zu VideoCaptureCoreX hinzufügen und Kennzeichen von Kameras lesen, während Sie anzeigen und aufzeichnen.
Mehr erfahren →Media Player SDK .NET
Player-SDK: den Block zu MediaPlayerCoreX hinzufügen und Kennzeichen aus den abgespielten Dateien und Streams lesen.
Mehr erfahren →Ab €500/Jahr · Lifetime-Lizenz ab €1,500
