OCR-WERKZEUGE

Wie man mit Tesseract Text aus Bildern gewinnt

Aktualisiert 28. Januar 2024
Teilen Sie:

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.

OCR Texterkennung, Abbildung 1: Installieren Sie das Tesseract-Paket im NuGet-Paketmanager

**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 folgenden website 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()
VB   C#

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.

OCR-Texterkennung, Abbildung 2: Extrahierter Text aus dem Bild

Extrahierter Text aus dem Bild

1.3 Überlegungen zum Tesserakt

  1. Tesseract unterstützt ab Version 3.00 die Formatierung von Ausgabetext, OCR-Positionsdaten und die Analyse des Seitenlayouts.

  2. 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.

  3. Tesseract kann zwischen monospaced und proportional spaced Text unterscheiden.

  4. 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.

  5. 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

    Um mehr über Tesseract in C# zu erfahren, besuchen Sie bitte das Tesseract-Tutorial.

2. OCR mit IronOCR

2.1. Installation von IronCR

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.

So erhalten Sie OCR-Texterkennung, Abbildung 3: Installieren Sie IronOCR und Sprachpakete über den NuGet Package Manager

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
VB   C#

Der obige Code instanziiert eine eisen-Tesserakt objekt. Zusätzlich wird eine ocrInput objekt erstellt wird, um eine oder mehrere Bilddateien hinzuzufügen, wird der lokale Dateipfad mit bild laden methode. Sie können so viele Bilder hochladen, wie Sie möchten. Die Funktionalität lesen im Objekt eisen-Tesserakt parst die Bilddatei und extrahiert das Ergebnis in das OCR-Ergebnis.

OCR-Texterkennung, Abbildung 4: Extrahierte Textausgabe mit IronOCR-Bibliothek

Extrahierte Textausgabe mit IronOCR-Bibliothek

2.3 IronOCR Überlegungen

  1. IronOCR ist eine Erweiterung der Tesseract-Bibliothek, die für mehr Stabilität und höhere Genauigkeit sorgt.

  2. IronOCR kann Textinhalte lesen von PDFs und Fotos kann IronOCR auch mehr als 20 verschiedene Arten von barcodes und QR-Codes.

  3. Die Ausgabe kann entweder als reiner Text, als strukturierte Daten, als Barcodes oder als QR-Codes erfolgen.

  4. Die Bibliothek erkennt an 127 Sprachen weltweit.

  5. IronOCR arbeitet flexibel in allen .NET-Umgebungen (konsole, Web, Desktop, etc)und unterstützt auch die neuesten mobilen Frameworks wie Mono, Xamarin, Azurblauund MAUI.

  6. IronOCR bietet eine kostenloser Test und hat eine preisgünstigere Entwicklungsversion. Lernen Sie mehr über Lizenzierung.

    Ein ausführliches IronOCR-Tutorial finden Sie in diesem artikel zum Lesen von Text aus einem Bild in C#.

< PREVIOUS
OCR C# Open Source (Liste für Entwickler)
NÄCHSTES >
Beste OCR-API (Aktualisierter Listenvergleich)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 2,561,036 Lizenzen anzeigen >