Zum Fußzeileninhalt springen
OCR-WERKZEUGE
Wie man Tesseract OCR für .NET auf Windows verwendet

Tesseract OCR in Windows (Code-Beispiel-Tutorial)

Was ist Tesseract OCR?

Tesseract ist eine optische Zeichenerkennungs-Engine, die auf einer Vielzahl von Betriebssystemen verwendet werden kann. Es ist eine freie Software, veröffentlicht unter der Apache-Lizenz. In diesem Leitfaden werde ich Ihnen die Schritte zeigen, die ich befolgt habe, um Tesseract auf meinem Windows 10-Rechner zu installieren. Die Hauptversion 5 ist die aktuelle stabile Version und begann mit der Veröffentlichung von Version 5.0.0 am 30. November 2021.

class="hsg-featured-snippet">

Wie man Tesseract OCR in Windows verwendet

  1. Installieren Sie Tesseract OCR unter Windows 10 mit einer .exe-Datei
  2. Konfigurieren Sie die Tesseract-Installation
  3. Fügen Sie den Installationspfad zu Umgebungsvariablen hinzu
  4. Führen Sie Tesseract OCR für Windows mit einem Testbild aus
  5. Verwenden Sie die C#-Bibliothek für intuitivere APIs und erweiterte Methoden in Windows

Schritt 1: Installieren Sie Tesseract OCR in Windows 10 mit einer .exe-Datei:

Um Sprachdaten zu installieren: sudo port install tesseract -<langcode> Eine Liste der Sprachcodes finden Sie auf der MacPorts Tesseract-Seite Homebrew. Der erste Schritt zur Installation von Tesseract OCR für Windows besteht darin, das .exe-Installationsprogramm herunterzuladen, das mit dem Betriebssystem Ihrer Maschine übereinstimmt.

Schritt 2: Installation konfigurieren

Als nächstes müssen wir die Tesseract-Installation konfigurieren. Wenn Sie sich sicher fühlen und Tesseract OCR für Windows nur mit der Standardsprache Englisch ausführen möchten, sollte das Durchlaufen der Installationsbildschirme mit allen ausgewählten Standardoptionen funktionieren.

Installersprache

Dies ist nur die Sprache für die Dialogfelder und Hilfsinformationen. Wenn wir möchten, können wir Tesseract OCR für Windows in mehreren Sprachen ausführen:

class="content-img-align-center"> Tesseract Ocr Windows 1 related to Installersprache

class="content__image-caption">

Installationssprache für Tesseract OCR für Windows

Tesseract OCR Einrichten

Der Einrichtungsbildschirm empfiehlt, dass alle anderen Anwendungen geschlossen werden, bevor mit der Installation fortgefahren wird.

class="content-img-align-center"> Tesseract Ocr Windows 2 related to Tesseract OCR Einrichten

class="content__image-caption">

Der Installationsbildschirm für Tesseract OCR für Windows.

Installationsort wählen

Als nächstes wählen wir den Installationsort. Bevor Sie zum nächsten Schritt übergehen, stellen Sie sicher, dass Sie den Installationsort in einer .txt-Datei kopieren. Wir müssen den Installationsort zu den Umgebungsvariablen unserer Maschine hinzufügen, sobald die Installation abgeschlossen ist.

class="content-img-align-center"> Tesseract Ocr Windows 3 related to Installationsort wählen

class="content__image-caption">

Wählen Sie den Installationsort.

Komponenten auswählen

Standardmäßig sind ScrollView, Training Tools, Shortcuts-Erstellung und Sprachdaten alle ausgewählt. Es sei denn, Sie haben einen bestimmten Grund, diese nicht zu installieren, sollten wir alle ausgewählt lassen.

class="content-img-align-center"> Tesseract Ocr Windows 4 related to Komponenten auswählen

class="content__image-caption">

Standard-Tesseract OCR für Windows-Installationskomponenten.

Wenn wir nach unten scrollen und die ‚Zusätzlichen Skriptdaten‘ erweitern, sehen wir, dass wir die Option haben, zusätzliche Skriptdaten herunterzuladen und zu installieren. Dies kann hilfreich sein, um die Genauigkeit der Textextraktion aus bestimmten geskripteten Sprachen zu verbessern. Es liegt an Ihnen, ob Sie diese installieren möchten.

class="content-img-align-center"> Tesseract Ocr Windows 5 related to Komponenten auswählen

class="content__image-caption">

Optionale Skriptinstallation-Komponenten.

Ordner im Startmenü auswählen

Im letzten Schritt der Installation werden wir aufgefordert, den Startmenü-Ordner für Tesseract OCR für Windows-Verknüpfungen auszuwählen. Ich habe meinen auf den Standardnamen gesetzt: ‚Tesseract-OCR‘.

class="content-img-align-center"> Tesseract Ocr Windows 6 related to Ordner im Startmenü auswählen

class="content__image-caption">

Wählen Sie den Startmenü-Ordner für die Tesseract OCR für Windows-Verknüpfungen.

Nachdem wir auf Installieren klicken, wird Tesseract OCR für Windows mit der Installation beginnen. Unser nächster Schritt besteht darin, den Installationspfad zu den Umgebungsvariablen unserer Maschine hinzuzufügen.

Schritt 3: Installationspfad zu Umgebungsvariablen hinzufügen

Systemsteuerung

Um den Installationsort zu unseren Umgebungsvariablen hinzuzufügen, gehen Sie zum Startmenü und suchen Sie nach ‚Umgebungsvariablen‘. Sie sollten ein Ergebnis zur Bearbeitung der Systemumgebungsvariablen sehen. Wenn nicht, können Sie immer die folgenden Schritte verwenden: Startmenü > Systemsteuerung > Systemumgebungsvariablen bearbeiten.

class="content-img-align-center"> Tesseract Ocr Windows 7 related to Systemsteuerung

class="content__image-caption">

Suche nach „Umgebungsvariablen“

Systemeigenschaften

Wenn das Dialogfeld „Systemeigenschaften“ angezeigt wird, möchten wir sicherstellen, dass die Registerkarte Erweitert angeklickt ist, dann auf die Schaltfläche Umgebungsvariablen unten rechts auf dem Bildschirm klicken.

class="content-img-align-center"> Tesseract Ocr Windows 8 related to Systemeigenschaften

class="content__image-caption">

Umgebungsvariablen

Unter Systemvariablen klicken wir auf die Schaltfläche Bearbeiten.

class="content-img-align-center"> Tesseract Ocr Windows 9 related to Umgebungsvariablen

class="content__image-caption">

Wenn das Bildschirm „Umgebungsvariable bearbeiten“ angezeigt wird, klicken Sie auf die Schaltfläche Neu und fügen Sie den Tesseract OCR-Installationspfad ein, den wir zuvor in Schritt 2 kopiert haben. Sobald Sie dies getan haben, klicken Sie auf die Schaltfläche ‘OK’.

Hinzufügen des Tesseract OCR-Installationsverzeichnisses für Windows zu den Umgebungsvariablen

class="content-img-align-center"> Tesseract Ocr Windows 10 related to Hinzufügen des Tesseract OCR-Installationsverzeichnisses für Windows zu den Umgebu...

class="content__image-caption">

Das war's! Jetzt, da wir das .exe-Installationsprogramm ausgeführt und den Tesseract OCR für Windows-Installationsort zu den Umgebungsvariablen hinzugefügt haben, können wir testen, ob unsere Installation funktioniert, indem wir Tesseract mit einem Testbild ausführen.

Schritt 4: Führen Sie Tesseract OCR für Windows mit einem Testbild aus

Um zu testen, ob Tesseract OCR für Windows erfolgreich installiert wurde, öffnen Sie das Eingabeaufforderungsfenster auf Ihrem Rechner und führen Sie den Tesseract-Befehl aus. Sie sollten eine Ausgabe mit einer kurzen Erklärung zu den Nutzungsoptionen von Tesseract sehen.

class="content-img-align-center"> Tesseract Ocr Windows 11 related to Schritt 4: Führen Sie Tesseract OCR für Windows mit einem Testbild aus

class="content__image-caption">

Überprüfen der erfolgreichen Installation von Tesseract OCR für Windows

Herzlichen Glückwunsch! Sie haben Tesseract OCR für Windows erfolgreich auf Ihrem Rechner installiert.


Vorteile der Verwendung von IronOCR für OCR-Arbeiten:

IronOCR provides Tesseract OCR on Mac, Windows, Linux, Azure and Docker for:

  • .NET Framework 4.0 +
  • .NET Standard 2.0 +
  • .NET Core 2.0 +
  • .NET 5
  • Mono für macOS und Linux
  • Xamarin für macOS

IronOCR liest Text, Barcodes und QR-Codes aus allen wichtigen Bild- und PDF-Formaten mit der neuesten Tesseract 5-Engine. Diese Bibliothek fügt Desktop-, Konsolen- und Webanwendungen in wenigen Minuten OCR-Funktionen hinzu. Es unterstützt über 125 internationale Sprachen. Licenses start from $799.

Schritt 1: Installieren Sie die neueste Version von IronOCR

DLL installieren

Download the IronOcr DLL directly to your machine.

Installieren Sie NuGet

Alternativ können Sie es über NuGet mit dem folgenden Befehl installieren:

Install-Package IronOcr

Schritt 2: Anwenden des Lizenzschlüssels

Stellen Sie Ihren IronOCR-Lizenzschlüssel mit Code ein

Fügen Sie diesen Code dem Start Ihrer Anwendung hinzu, bevor IronOCR verwendet wird.

IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"
$vbLabelText   $csharpLabel

Schritt 3: Testen Sie Ihren Schlüssel

Testen Sie, ob Ihr Schlüssel korrekt installiert wurde.

bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
Dim isValidLicense As Boolean = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01")
$vbLabelText   $csharpLabel

Beginnen Sie mit dem Projekt

// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;

Dim Ocr = New IronTesseract()

' Set the recognition language to English
Ocr.Language = OcrLanguage.English

Using Input = New OcrInput()
	' Add an example image to the OCR input
	Input.Add("img\example.tiff")

	' Optional: Clean the image before processing
	' Input.DeNoise();
	' Input.Deskew();

	' Read the text from the image
	Dim result As IronOcr.OcrResult = Ocr.Read(Input)

	' Output the recognized text
	Console.WriteLine(result.Text)

	' Explore the OcrResult using IntelliSense
End Using
$vbLabelText   $csharpLabel

Wie man Tesseract OCR in C# für .NET verwendet?

  • Installieren Sie Google Tesseract und IronOCR für .NET in Visual Studio
  • Überprüfen Sie die neuesten Builds in C#
  • Überprüfen Sie die Genauigkeit und Bildkompatibilität
  • Testen Sie Leistung und API-Funktion
  • Berücksichtigen Sie die Unterstützung mehrerer Sprachen

Codebeispiel für die Verwendung von .NET OCR - Text aus Bildern in C# extrahieren

Verwenden Sie den NuGet Package Manager, um das IronOCR NuGet Package in Ihre Visual Studio-Lösung zu installieren.

// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;

Dim Ocr = New IronTesseract()

' Set the recognition language to English
Ocr.Language = OcrLanguage.English

Using Input = New OcrInput()
	' Add an example image to the OCR input
	Input.Add("img\example.tiff")

	' Optional: Clean the image before processing
	' Input.DeNoise();
	' Input.Deskew();

	' Read the text from the image
	Dim result As IronOcr.OcrResult = Ocr.Read(Input)

	' Output the recognized text
	Console.WriteLine(result.Text)

	' Explore the OcrResult using IntelliSense
End Using
$vbLabelText   $csharpLabel

IronOCR Tesseract für C

Mit IronOCR erfolgt die gesamte Tesseract-Installation vollständig über den NuGet Package Manager.

Install-Package IronOcr

Tesseract 5 API in IronOCR Tesseract

Bis heute ist IronTesseract die einzige bekannte Implementierung von Tesseract 5 für .NET Framework oder Core.

// using IronOcr;

var Ocr = new IronTesseract(); // nothing to configure

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
// using IronOcr;

var Ocr = new IronTesseract(); // nothing to configure

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
' using IronOcr;

Dim Ocr = New IronTesseract() ' nothing to configure

Using Input = New OcrInput("images\image.png")
	Dim result = Ocr.Read(Input)

	' Output the recognized text
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Tesseract 4 API in IronOCR Tesseract

// using IronOcr;

var Ocr = new IronTesseract();

// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
// using IronOcr;

var Ocr = new IronTesseract();

// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
' using IronOcr;

Dim Ocr = New IronTesseract()

' Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4

Using Input = New OcrInput("images\image.png")
	Dim result = Ocr.Read(Input)

	' Output the recognized text
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Warum IronOCR besser ist als Tesseract:

GENAUIGKEIT

TESSERACT:

Wenn Tesseract auf ein Bild trifft, das gedreht, verzerrt, von niedriger DPI, gescannt oder mit Hintergrundrauschen behaftet ist, wird es für Tesseract fast unmöglich, Daten aus diesem Bild zu extrahieren. Darüber hinaus benötigt Tesseract auch sehr lange, um dieses Dokument zu verarbeiten, bevor es Ihnen unsinnige Informationen liefert.

IRONOCR:

IronOCR nimmt diesen Kopfschmerz weg. Benutzer erzielen oft eine Genauigkeit von 99,8-100% mit minimaler Konfiguration.

BILDKOMPATIBILITÄT

TESSERACT:

Akzeptiert nur das Leptonica PIX-Bildformat, das ein IntPtr C++-Objekt in C# ist. PIX-Objekte sind kein verwalteter Speicher – und die Nichtbehandlung mit Sorgfalt in C# führt zu Speicherlecks.

IRONOCR:

Bilder sind speicherverwaltet. PDF & Tiff unterstützt. System.Drawing, Stream und Byte Array sind für jedes Dateiformat enthalten.

Breite Bildunterstützung:

  • PDF-Dokumente
  • PDF-Seiten
  • MultiFrame TIFF-Dateien
  • JPEG & JPEG2000
  • GIF
  • PNG
  • System.Drawing.Image
  • Binäre Bilddaten (byte [])
  • Und viele mehr...

LEISTUNG

TESSERACT:

Google Tesseract kann schnelle und genaue Ergebnisse liefern, wenn es richtig eingestellt ist und Eingabebilder zuvor mit Photoshop oder ImageMagick vorverarbeitet wurden.

IRONOCR:

Die IronOcr .NET Tesseract DLL arbeitet bei den meisten Bildern direkt aus der Box heraus genau und schnell. Wir haben Multithreading implementiert, um die Mehrkernprozessoren zu nutzen, die die meisten Maschinen mittlerweile verwenden. Selbst Bilder mit niedriger Auflösung funktionieren in Ihrem Programm in der Regel mit einem hohen Maß an Genauigkeit. Kein Photoshop erforderlich.

API

TESSERACT:

Wir haben zwei kostenlose Wahlmöglichkeiten:

  • Arbeiten mit Interop-Schichten – viele, die auf GitHub zu finden sind, sind veraltet, haben unaufgelöste Tickets, Speicherlecks und Konsolenwarnungen. Unterstützt möglicherweise nicht .NET Core oder Standard.
  • Arbeiten mit der Befehlszeilen-EXE – schwer zu bereitstellen und wird ständig von Virenscannern und Sicherheitsrichtlinien unterbrochen.

IRONOCR:

Eine verwaltete und getestete .NET-Bibliothek für Tesseract namens IronTesseract.

Vollständig dokumentiert mit IntelliSense-Unterstützung.

SPRACHE

TESSERACT:

Unterstützt nur 100 Sprachen.

IRONOCR:

Unterstützt über 125 Sprachen.


Abschluss

Tesseract ist eine hervorragende Ressource für C++-Entwickler, aber es ist keine vollständige OCR-Bibliothek für .NET. Gescannt oder fotografiert müssen Bilder so verarbeitet werden, dass sie orthogonal, standardisiert, hochauflösend und frei von digitalem Rauschen sind, bevor Tesseract genau mit ihnen arbeiten kann.

Im Gegensatz dazu kann IronOCR dies und mehr mit nur einer einzigen Codezeile leisten. It is true that IronOCR uses Tesseract for its internal OCR engine, a very finely-tuned Tesseract, built for C#, with a lot of performance improvements and features added as standard.

Kannaopat Udonpant
Software Ingenieur
Bevor er Software-Ingenieur wurde, absolvierte Kannapat ein PhD in Umweltressourcen an der Hokkaido University in Japan. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Fakultät für Bioproduktionstechnik ist. Im Jahr 2022 nutzte er seine C#-Kenntnisse, um dem Engineering-Team von Iron Software ...
Weiterlesen