Durch den Einsatz von Bibliotheken wie IronOCR und Tesseract erhalten Entwickler Zugang zu fortschrittlichen Algorithmen und maschinellen Lerntechniken für die Extraktion von Textinformationen aus Bildern und gescannten Dokumenten. Dieses Tutorial zeigt den Lesern, wie man die Tesseract-Bibliothek zur Textextraktion aus Bildern verwendet, und stellt abschließend den einzigartigen Ansatz von IronOCR vor.
1. OCR mit Tesseract
1.1. Tesseract installieren
Geben Sie in der NuGet-Paketmanager-Konsole den folgenden Befehl ein.
Install-Package Tesseract
Oder laden Sie das Paket über den NuGet Package Manager herunter.
**Installieren Sie das Paket "Tesseract" im NuGet Package Manager
Sie müssen die Sprachdateien nach der Installation des NuGet-Pakets manuell installieren und im Projektordner speichern. Dies kann als ein Manko dieser speziellen Bibliothek angesehen werden.
Besuchen Sie die folgendenwebsite um die Sprachdateien herunterzuladen. Nach dem Herunterladen entpacken Sie die Dateien und fügen den Ordner "tessdata" dem Debug-Ordner Ihres Projekts hinzu.
1.2. Tesseract benutzen (Schnellstart)
OCR für ein bestimmtes Bild kann mit dem unten stehenden Quellcode durchgeführt werden:
using Tesseract;
var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
using Tesseract;
var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
Imports Tesseract
Private ocrEngine = New TesseractEngine("tessdata", "eng", EngineMode.Default)
Private img = Pix.LoadFromFile("Demo.png")
Private res = ocrEngine.Process(img)
Console.WriteLine(res.GetText())
Console.ReadKey()
$vbLabelText $csharpLabel
Zuerst muss ein TerreractEngine Objekt erstellt werden und die Sprachdaten in die Engine geladen werden. Dann wird die gewünschte Bilddatei mit Hilfe von Tesseract Pix geladen. Anschließend wird dieses Bild an die "TerreactEngine" weitergegeben, um den korrekt erkannten Text mit Hilfe der Methode "GetText" zu extrahieren, die in der "TesseractEngine" verfügbar ist. Dies ist die Ausgabe des Codes.
Extrahierter Text aus dem Bild
1.3 Überlegungen zum Tesserakt
Tesseract unterstützt ab Version 3.00 die Formatierung von Ausgabetext, OCR-Positionsdaten und die Analyse des Seitenlayouts.
Tesseract ist für Windows, Linux und Mac OS X verfügbar. Es wurde jedoch bestätigt, dass Tesseract aufgrund der begrenzten Entwicklungsunterstützung nur unter Windows und Ubuntu wie vorgesehen funktioniert.
Tesseract kann zwischen monospaced und proportional spaced Text unterscheiden.
Durch die Verwendung eines Front-Ends wie OCRopus ist Tesseract ideal für den Einsatz als Back-End und kann für anspruchsvollere OCR-Aufgaben, wie z. B. Layout-Analysen, verwendet werden.
Einige der Unzulänglichkeiten von Tesseract:
Die neuesten Builds wurden nicht für die Kompilierung unter Windows entwickelt
Die C#-API-Wrapper von Tesseract werden nur selten gepflegt und hinken neuen Versionen von Tesseract um Jahre hinterher
Geben Sie den folgenden Befehl in die NuGet-Paketmanager-Konsole ein.
Install-Package IronOcr
Sie können die IronOCR-Bibliothek auch über den NuGet Package Manager installieren, zusammen mit zusätzlichen Paketen für andere Sprachen, die einfach und bequem zu verwenden sind.
IronOCR und Sprachpakete über den NuGet Package Manager installieren
2.2. Verwendung von IronOCR
Nachfolgend finden Sie einen Beispielcode zur Erkennung des Textes aus dem angegebenen Bild.
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())
{
input.LoadImage(@"Demo.png");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
Console.ReadKey();
}
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())
{
input.LoadImage(@"Demo.png");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
Console.ReadKey();
}
Dim ocr = New IronTesseract()
ocr.Language = OcrLanguage.EnglishBest
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using input = New OcrInput()
input.LoadImage("Demo.png")
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
Console.ReadKey()
End Using
$vbLabelText $csharpLabel
Der obige Code instanziiert eineeisen-Tesserakt objekt. Zusätzlich wird eineocrInput objekt erstellt wird, um eine oder mehrere Bilddateien hinzuzufügen, wird der lokale Dateipfad mitbild laden methode. Sie können so viele Bilder hochladen, wie Sie möchten. Die Funktionalitätlesen im Objekteisen-Tesserakt parst die Bilddatei und extrahiert das Ergebnis in das OCR-Ergebnis.
Extrahierte Textausgabe mit IronOCR-Bibliothek
2.3 IronOCR Überlegungen
IronOCR ist eine Erweiterung der Tesseract-Bibliothek, die für mehr Stabilität und höhere Genauigkeit sorgt.
IronOCR kann Textinhalte lesen vonPDFs und Fotos kann IronOCR auch mehr als 20 verschiedene Arten vonbarcodes und QR-Codes.
Die Ausgabe kann entweder als reiner Text, als strukturierte Daten, als Barcodes oder als QR-Codes erfolgen.
IronOCR arbeitet flexibel in allen .NET-Umgebungen(konsole, Web, Desktop, etc)und unterstützt auch die neuesten mobilen Frameworks wie Mono, Xamarin,AzurblauundMAUI.
Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.
< PREVIOUS OCR C# Open Source (Liste für Entwickler)
NÄCHSTES > Beste OCR-API (Aktualisierter Listenvergleich)