Wie man Nummernschilder mit IronOCR liest
Beim Verwalten eines großen Volumens an Fahrzeugbildern ist das manuelle Ablesen von Kennzeichen zeitaufwändig und anfällig für menschliche Fehler. Die Automatisierung dieses Prozesses mit einem Tool wie IronOCR bietet eine effizientere und genauere Lösung. Die ReadLicensePlate
-Methode von IronOCR kann programmgesteuert Nummernschilder aus Bildern extrahieren, was erheblich Zeit spart und die Datengenauigkeit verbessert.
In diesem Leitfaden zeigen wir, wie man IronOCR für die Kennzeichenerkennung verwendet und führen durch Beispiele und anpassbare Konfigurationen, die den Prozess nahtlos gestalten. Durch die Nutzung dieser Methoden können Entwickler das Lesen von Kennzeichen automatisieren, wodurch Aufgaben wie Parkraummanagement, Mauterhebung oder Sicherheitsüberwachung effizienter werden.
Wie man Nummernschilder mit IronOCR liest
- Laden Sie die C#-Bibliothek zum Auslesen von Nummernschildern herunter
- Importieren Sie das Nummernschildbild zur Verarbeitung
- Stellen Sie sicher, dass das Dokument nur das Kennzeichenbild enthält, ohne Kopf- oder Fußzeilen.
- Verwenden Sie die
ReadLicensePlate
Methode zur Extraktion von Daten aus dem Bild - Zugriff auf dieOcrLicensePlateResultEigenschaft zur Ansicht und Bearbeitung der extrahierten Lizenzdaten
Beginnen Sie noch heute mit der Verwendung von IronOCR in Ihrem Projekt mit einer kostenlosen Testversion.
Um diese Funktion zu nutzen, müssen Sie auch die IronOcr.Extension.AdvancedScan paket.
Beispiel Nummernschild lesen
Um ein Nummernschild in IronOCR zu lesen, müssen wir die folgenden Schritte ausführen:
- Wir verwenden die Methode
ReadLicensePlate
, die einOcrInput
als Parameter für die Eingabe akzeptiert. Diese Methode ist präziser für Kfz-Kennzeichen optimiert als das Standard-Read
-Gegenstück der Bibliothek. -
Optional: Wir können IronOCR so konfigurieren, dass nur die spezifischen Zeichen auf die Positivliste gesetzt werden, die auf einem Nummernschild vorkommen können, um die Verarbeitung der Nummernschilder zu beschleunigen.
Bitte beachten Sie
- Die Methode funktioniert derzeit nur für Englisch, Chinesisch, Japanisch, Koreanisch und das lateinische Alphabet.
Die Verwendung des erweiterten Scans im .NET-Framework setzt voraus, dass das Projekt auf einer x64-Architektur läuft.
Nummernschild
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)
Ausgabe
Beachten Sie, dass wir das Bild zuerst als OcrInput
importieren müssen, um den Parameter in der Methode ReadLicensePlate
korrekt zu übergeben.
Wie Sie aus der Konsolenausgabe sehen können, entspricht der extrahierte Text dem Nummernschild und Bundesstaat, die im Eingabebild gezeigt werden.
Der extrahierte Text aus OCR-Eingabe.
Confidence: Eine "double"-Eigenschaft, die das statistische Genauigkeitsvertrauen eines Durchschnittswertes jedes Zeichens angibt, wobei eins der höchste und null der niedrigste Wert ist.
Nummernschild von einem Autobilder
Die Methode funktioniert auch gut mit einzelnen Bildern, die ein Auto mit einem Nummernschild enthalten. Der Code ist exakt gleich wie der oben genannte, nur das Eingabebild wurde geändert. Sie können auch die Pixelkoordinaten des Bereichs extrahieren, in dem sich das Nummernschild im Bild befindet.
Beispiel-Eingabe:
: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)
Ausgabe
Wie Sie sehen können, stimmt das Ergebnis mit dem oben gezeigten Nummernschild überein, und der exakte rechteckige Bereich des Nummernschilds im Bild wird ebenfalls korrekt extrahiert.
Diese Methode ist optimiert, um nur einzelne Kennzeichen zu finden und kann danach in Stockbildern suchen.