Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Die Kennzeichenerkennung ist zu einem unverzichtbaren Werkzeug in vielen Branchen geworden, von der Verkehrsüberwachung und Parksystemen bis hin zu Strafverfolgung und Mautlösungen. Durch die NutzungOptische Zeichenerkennung (OCR)Mit dieser Technologie können Entwickler effizient Text aus Bildern extrahieren und den Prozess der Identifizierung von Nummernschildern automatisieren. In diesem Tutorial werden wir demonstrieren, wie man IronOCR, eine leistungsstarke C# OCR-Bibliothek, um Nummernschilder aus Bildern genau zu lesen. Mit seiner nahtlosen Integration in den OpenCV-Quellcode für Computer-Vision-Aufgaben bietet IronOCR eine robuste Lösung zur Texterkennung selbst aus komplexen oder rauschenden Bildquellen. Egal ob Sie mit einem klaren Bild eines Nummernschildes oder einem vollständigen Fahrzeugfoto arbeiten, dieser Leitfaden führt Sie durch die Schritte, um ein zuverlässiges System zur Nummernschilderkennung mit modernen OCR-Techniken zu erstellen.
Installieren Sie die C#-Bibliothek, um die Nummernschilderkennung zu nutzen.
Importieren Sie das Nummernschildbild in eine neue OcrImageInput-Instanz.
Bildfilter anwenden, um die Textextraktion in C# zu verbessern
Verbessern Sie die Erkennungsgeschwindigkeit, indem Sie den Kennzeichenbereich im Foto angeben.
IronOCR ist eine C#-OCR-Bibliothek, die auf der Tesseract-OCR-Engine basiert und speziell entwickelt wurde, um Text-Erkennungsprojekte in .NET-Anwendungen mit hoher Genauigkeit und Effizienz zu unterstützen. Ideal für die Verarbeitung von lauten oder minderwertigen Bildern bietet IronOCR leistungsstarke Bildvorverarbeitungsfunktionen wie automatische Rauschunterdrückung und Graustufenumwandlung, die die Klarheit der Textextraktion verbessern.
Einige der herausragenden Funktionen von IronOCR umfassen:
Flexible Eingabeoptionen: Unterstützt mehrseitige Dokumente und anpassbare Bereiche, sodass Entwickler die OCR-Verarbeitung auf ausgewählte Bereiche konzentrieren können, um schnellere und gezieltere Ergebnisse zu erzielen.
Mit diesen Fähigkeiten ist IronOCR eine leistungsstarke Lösung für den Aufbau von OCR-Anwendungen, die Genauigkeit, Flexibilität und einfache Integration mit anderen Computer Vision-Tools erfordern.
Öffnen Sie Visual Studio und wählen Sie "Neues Projekt erstellen". Dadurch gelangen Sie auf eine Seite, auf der Sie die Art des Projekts auswählen können, das Sie erstellen möchten.(In unserem Fall werden wir eine Konsolenanwendung erstellen.). Wählen Sie den gewünschten Anwendungstyp aus und klicken Sie auf "Weiter".
Geben Sie Ihrem Projekt jetzt einen Namen und wählen Sie den Speicherort aus, an dem es gespeichert werden soll.
Wählen Sie schließlich Ihr Ziel-.NET-Framework aus und klicken Sie auf die Schaltfläche "Erstellen". Dadurch wird das Projekt wie unten gezeigt erstellt.
Der nächste Schritt besteht darin, die IronOCR-Bibliothek zu installieren, damit wir mit der Verarbeitung von Nummernschildern beginnen können.
Um mit IronOCR in Ihrem C#-Projekt zu beginnen, müssen Sie das IronOCR-Paket von NuGet installieren. IronOCR ist kompatibel mit dem .NET Framework und .NET Core, was die Integration in verschiedene .NET-Anwendungen erleichtert.
Navigieren Sie in Visual Studio zu Tools > NuGet Package Manager > Package Manager Console.
Geben Sie den folgenden Befehl in der Paket-Manager-Konsole ein:
Install-Package IronOcr
Install-Package IronOcr
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronOcr
Dieser Befehl installiert die IronOCR-Bibliothek, einschließlich aller Abhängigkeiten, die erforderlich sind, um OCR-Funktionen in Ihrem Projekt auszuführen. Da unsere Anwendung erweiterte Funktionen wie Kennzeichenerkennung mittels Computer Vision benötigt, können Sie das optionale IronOcr.ComputerVision.Windows-Paket auf diese Weise installieren:
Install-Package IronOcr.ComputerVision.Windows
Install-Package IronOcr.ComputerVision.Windows
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronOcr.ComputerVision.Windows
Und stellen Sie sicher, dass Sie dieIronOcr.Extensions.AdvancedScanErweiterung installiert, damit Sie die leistungsstarke ReadLicensePlate-Methode nutzen können:
Install-Package IronOcr.Extensions.AdvancedScan
Install-Package IronOcr.Extensions.AdvancedScan
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronOcr.Extensions.AdvancedScan
Alternativ können Sie die Pakete über Tools > NuGet-Paket-Manager > NuGet-Pakete für die Lösung verwalten installieren und nach den benötigten Paketen suchen:
Schließlich müssen wir die erforderlichen Imports und Using-Anweisungen am Anfang unseres Codes hinzufügen:
using IronOcr;
using IronOcr;
Imports IronOcr
In diesem Abschnitt werden wir ein Programm erstellen, um Nummernschilder mithilfe von IronOCR zu lesen.IronOCReine Tesseract-OCR-Engine, die sich durch die Extraktion von Text aus Bildern auszeichnet. Um die Fahrzeugerkennung zu implementieren, können wir auch zusätzliche Machine-Learning-Bibliotheken einbinden. Bemerkenswerterweise integriert sich IronOCR mit OpenCV, einer führenden Open-Source-Computer-Vision-Bibliothek, die es uns ermöglicht, Objekterkennungsaufgaben wie die Identifizierung von Fahrzeugen und Kennzeichen durchzuführen.
Wir werden mit folgendem Nummernschild arbeiten:
Fügen Sie als Nächstes den folgenden Code hinzu, um OCR auf dem Nummernschild durchzuführen:
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrImageInput("licensePlate.jpeg"))
{
// Fixing the digital noise and making the image easier to read
input.DeNoise();
input.ToGrayScale();
// Using the OcrLicensePlateResult and ReadLicensePlate methods to read the license plate information and store it for further use
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
// Saving the license plate text to a string variable
string output = result.Text;
// Outputting the license plate text to the console
Console.WriteLine(output);
}
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrImageInput("licensePlate.jpeg"))
{
// Fixing the digital noise and making the image easier to read
input.DeNoise();
input.ToGrayScale();
// Using the OcrLicensePlateResult and ReadLicensePlate methods to read the license plate information and store it for further use
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
// Saving the license plate text to a string variable
string output = result.Text;
// Outputting the license plate text to the console
Console.WriteLine(output);
}
Imports IronOcr
Private ocr = New IronTesseract()
Using input = New OcrImageInput("licensePlate.jpeg")
' Fixing the digital noise and making the image easier to read
input.DeNoise()
input.ToGrayScale()
' Using the OcrLicensePlateResult and ReadLicensePlate methods to read the license plate information and store it for further use
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(input)
' Saving the license plate text to a string variable
Dim output As String = result.Text
' Outputting the license plate text to the console
Console.WriteLine(output)
End Using
Code-Aufschlüsselung:
Bildvorverarbeitung:
OcrLicensePlateResult result = ocr.ReadLicensePlate
(eingabe); verwendet die ReadLicensePlate-Methode, um das verarbeitete Bild zu analysieren und alle erkannten Kennzeicheninformationen zu extrahieren, wobei die Ergebnisse in einemOcrLicensePlateResult objekt.Wenn wir ein Bild eines gesamten Autos anstatt nur des Nummernschilds haben, können wir einen rechteckigen Bereich angeben, um uns auf den Bereich des Nummernschilds zu konzentrieren. Wir können verwendenSystem.Drawing.Rectanglediesen Bereich in Pixeln festzulegen.
Wir werden die folgende Bilddatei für unser Beispiel verwenden:
Indem wir das Interessengebiet angeben, verbessern wir die Verarbeitungsgeschwindigkeit und vermeiden es, unnötigen Text zu extrahieren.
using IronOcr;
using System.Drawing;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
var contentArea = new Rectangle(x: 252, y: 282, width: 148, height: 47);
input.LoadImage("CarPlate.jpeg", contentArea);
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
Console.WriteLine(result.Text);
}
using IronOcr;
using System.Drawing;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
var contentArea = new Rectangle(x: 252, y: 282, width: 148, height: 47);
input.LoadImage("CarPlate.jpeg", contentArea);
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
Console.WriteLine(result.Text);
}
Imports IronOcr
Imports System.Drawing
Private ocr = New IronTesseract()
Using input = New OcrInput()
Dim contentArea = New Rectangle(x:= 252, y:= 282, width:= 148, height:= 47)
input.LoadImage("CarPlate.jpeg", contentArea)
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(input)
Console.WriteLine(result.Text)
End Using
Code-Aufschlüsselung:
IronOCR nutzt OpenCV, um Textbereiche innerhalb von Bildern zu identifizieren und setzt dabei verschiedene Bildverarbeitungstechniken ein. Diese Funktionalität ermöglicht es dem Programm, Nummernschilder zu erkennen, indem Textbereiche im Bild lokalisiert und anschließend Tesseract verwendet werden, um diese Bereiche zu lesen.
Um das Kennzeichenerkennungsmodell zu aktivieren, installieren Sie das erforderliche Paket über die Paket-Manager-Konsole:
var ocr = new IronTesseract();
using (var input = new OcrImageInput("CarPlate.jpeg"))
{
input.FindTextRegion();
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
Console.WriteLine(result.Text);
}
var ocr = new IronTesseract();
using (var input = new OcrImageInput("CarPlate.jpeg"))
{
input.FindTextRegion();
OcrLicensePlateResult result = ocr.ReadLicensePlate(input);
Console.WriteLine(result.Text);
}
Dim ocr = New IronTesseract()
Using input = New OcrImageInput("CarPlate.jpeg")
input.FindTextRegion()
Dim result As OcrLicensePlateResult = ocr.ReadLicensePlate(input)
Console.WriteLine(result.Text)
End Using
Code-Aufschlüsselung:
Für diejenigen, die IronOCR selbst ausprobieren möchten, bietet IronOCR einkostenloser Testdas Ihnen Zugang zu der gesamten Palette an Tools gewährt, die angeboten werden, was bedeutet, dass Sie sie in Ihren eigenen Projekten ausprobieren können, bevor Sie eine Lizenz kaufen. Sobald Ihre kostenlose Testversion abläuft,IronOCR-Lizenzierungbeginnt ab nur $749 für die Lite License. Es bietet auch optionale Add-ons gegen Aufpreis, wie etwa die gebührenfreie Weitergabeabdeckung sowie ununterbrochene Unterstützung und fortlaufende Produktaktualisierungen.
Darüber hinaus, wenn Sie feststellen, dass Sie über IronOCR hinaus noch weitere IronSoftware-Produkte benötigen, wie z.B. IronPDF für Ihre PDF-bezogenen Aufgaben oder IronWord für die Arbeit mit Word-Dokumenten, dann bietet IronSoftware auch Iron Suite, was eine großartige Möglichkeit ist, Zugang zur gesamten Palette von Tools zu einem großartigen Preis zu haben.
In diesem Leitfaden haben wir untersucht, wie man ein zuverlässiges Kennzeichenerkennungssystem in C# erstellt, indem manIronOCR. Mit seinen leistungsstarken Textextraktionsfähigkeiten und der Integration mit OpenCV bietet IronOCR eine effiziente, benutzerfreundliche Lösung für Anwendungen, die eine genaue Texterkennung aus Fahrzeugbildern erfordern. Von der Vorverarbeitung des Bildes bis hin zur Einstellung bestimmter Erkennungsregionen vereinfacht IronOCR den OCR-Prozess mit Werkzeugen, die speziell für verrauschte oder komplexe Bilder angepasst sind, wie beispielsweise Nummernschilder in Verkehrs- und Überwachungsaufnahmen.
Egal, ob Sie für Verkehrsüberwachung, Parkraumüberwachung oder jede Anwendung, die eine automatisierte Nummernschilderkennung erfordert, entwickeln – IronOCR bietet eine umfassende Bibliothek, die sich nahtlos in .NET-Umgebungen integrieren lässt. Indem Sie diese Schritte befolgen, sind Sie in der Lage, OCR-gesteuerte Lösungen bereitzustellen, die Effizienz und Genauigkeit in verschiedenen realen Szenarien verbessern. Mit zusätzlichen Funktionen wie Regionenauswahl und Rauschreduzierung garantiert IronOCR, dass Ihre Aufgaben zur Kennzeichenerkennung für bestmögliche Ergebnisse optimiert sind.
9 .NET API-Produkte für Ihre Bürodokumente