Benutzerdefinierte Sprache mit Tesseract in C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR ermöglicht OCR für benutzerdefinierte Sprachen, spezialisierte Skripte oder Chiffren, indem Tesseract .traineddata-Dateien über die Methode UseCustomTesseractLanguageFile geladen werden, so dass Sie Text aus jedem benutzerdefinierten Sprachmodell extrahieren können.

als-Überschrift:2(Schnellstart: Benutzerdefinierte Sprache für OCR laden)

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronOCR mit dem NuGet-Paketmanager.

    PM > Install-Package IronOcr

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    using IronOcr;
    
    // Initialize OCR engine
    var ocr = new IronTesseract();
    
    // Load custom language file
    ocr.UseCustomTesseractLanguageFile("custom.traineddata");
    
    // Process document
    using var input = new OcrInput();
    input.LoadImage("document.png");
    
    // Extract text
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronOCR in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer
  1. IronOCR über NuGet Package Manager installieren
  2. Laden Sie Ihre eigene .traineddata-Datei mit UseCustomTesseractLanguageFile
  3. Erstellen Sie einen OcrInput und laden Sie Ihr Dokument
  4. Rufen Sie Read() auf, um Text in Ihrer eigenen Sprache zu extrahieren
  5. Speichern oder verarbeiten Sie den extrahierten Text

Die optische Zeichenerkennung (OCR) erfordert manchmal den Umgang mit benutzerdefinierten Sprachen, speziellen Skripten oder Chiffren. Um ein Eingabebild mit einer benutzerdefinierten Sprache zu lesen, müssen der Tesseract-Engine Trainingsdaten für diese spezifische Sprache bereitgestellt werden. Diese Daten werden in einer speziellen .traineddata Datei gespeichert.

Während der komplexe Prozess der Erstellung (des Trainings) dieser Datei mit den eigenen Tools von Tesseract durchgeführt wird, unterstützt IronOCR die Verwendung dieser benutzerdefinierten Sprachdateien vollständig. Dies ermöglicht es Ihnen, Ihr trainiertes Modell anzuwenden, um Texte aus beliebigen Eingaben zu entschlüsseln und zu lesen. Dieser Leitfaden zeigt, wie man eine benutzerdefinierte .traineddata-Datei mit IronOCR lädt und verwendet.

Erste Schritte mit IronOCR

Nutzen Sie IronOCR heute kostenlos in Ihrem Projekt.

Erster Schritt:
green arrow pointer


Wie implementiere ich benutzerdefinierte Sprach-OCR mit Tesseract?

Um eine benutzerdefinierte Sprache mit Tesseract zu verwenden, laden Sie zunächst Ihre .traineddata-Datei durch Aufruf der Methode UseCustomTesseractLanguageFile. Dies ist ein unerlässlicher Schritt, da diese Datei alle Trainingsdaten enthält, die es Tesseract ermöglichen, die einzigartigen Zeichen der benutzerdefinierten Sprache zu erkennen.

Die Unterstützung benutzerdefinierter Sprachen in IronOCR geht über die Standardsprachen hinaus. Unabhängig davon, ob Sie mit historischen Skripten, erfundenen Sprachen oder speziellen Notationssystemen arbeiten, gilt derselbe Prozess. Für Projekte, die mehrere Sprachen erfordern, lesen Sie unseren Leitfaden zum Lesen mehrerer Sprachen oder informieren Sie sich über die 125 internationalen OCR-Sprachen, die von Haus aus unterstützt werden.

Als Nächstes laden Sie Ihr Eingabedokument wie bei einem normalen OCR-Vorgang. Mit LoadPdf laden wir eine PDF-Datei, die benutzerdefinierte Sprachabschnitte enthält. IronOCR unterstützt verschiedene Eingabeformate, darunter Bilder (jpg, png, gif, tiff, bmp) und PDFs.

Verwenden Sie schließlich die Methode Lesen, um den Text aus der Eingabe zu extrahieren. Das Ergebnis kann dann auf der Konsole ausgedruckt oder in einer Textdatei zum Nachschlagen gespeichert werden.

Welche Trainingsdaten benötige ich für benutzerdefinierte Sprachen?

Als Eingabe verwenden wir diese PDF-Beispieldatei, die Text in unserer benutzerdefinierten Sprache enthält.

Wir werden für unser Beispiel die benutzerdefinierte Sprache .traindata verwenden.

Die Qualität und der Umfang Ihrer Trainingsdaten wirken sich direkt auf die OCR-Genauigkeit aus. Bei der Vorbereitung benutzerdefinierter Sprachtrainingsdaten:

  1. Zeichenabdeckung: Stellen Sie sicher, dass Ihre Trainingsdaten alle Zeichen und Symbole enthalten
  2. Schriftvariationen: Fügen Sie mehrere Schriftarten ein, wenn Ihre Dokumente in der Typografie variieren
  3. Bildqualität: Üben Sie mit Bildern, die denen ähneln, die Sie in der Produktion verarbeiten werden
  4. Kontextmuster: Gemeinsame Wortkombinationen und Phrasen einbeziehen

Erweiterte Konfigurationsoptionen finden Sie in unserem Detaillierten Konfigurationsleitfaden für Tesseract.

Wie kann ich benutzerdefinierte Sprachdokumente laden und verarbeiten?

:path=/static-assets/ocr/content-code-examples/how-to/ocr-custom-language.cs
using IronOcr;
using System;
using System.IO;

var ocrTesseract = new IronTesseract();

// Load the traineddata file for the custom language
ocrTesseract.UseCustomTesseractLanguageFile("AMGDT.traineddata");

using var ocrInput = new OcrInput();
// Load the PDF containing text in the custom language
ocrInput.LoadPdf("custom.pdf");

var ocrResult = ocrTesseract.Read(ocrInput);

// Print text to the console
Console.WriteLine("--- OCR Result ---");
Console.WriteLine(ocrResult.Text);
Console.WriteLine("------------------");

// Pipe text to a .txt file
string outputFilePath = "ocr_output.txt";
File.WriteAllText(outputFilePath, ocrResult.Text);

Console.WriteLine($"\nSuccessfully saved text to {outputFilePath}");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Der obige Code veranschaulicht den grundlegenden Arbeitsablauf für benutzerdefinierte Sprach-OCR. Für komplexere Szenarien sollten Sie diese Erweiterungen in Betracht ziehen:

Leistungsoptimierung: Für große Dokumente oder Stapelverarbeitung implementieren Sie Multithreading und async-Unterstützung, um die Leistung zu verbessern.

Bildvorverarbeitung: Wenn Ihre Ausgangsdokumente Qualitätsprobleme aufweisen, wenden Sie Bildkorrekturfilter vor der OCR-Verarbeitung an. Der Filter-Assistent kann Ihnen helfen, die optimalen Vorverarbeitungseinstellungen zu finden.

Regionsspezifische OCR: Bei Dokumenten mit gemischtem Inhalt können Sie die OCR-Region eines Bildes-Technik verwenden, um sich auf bestimmte Bereiche zu konzentrieren, die Ihre eigene Sprache enthalten.

Welche Ergebnisse kann ich von Custom Language OCR erwarten?

Die OCR-Ausgabe von Tesseract zeigt den extrahierten Text über die Spielfunktionen von Apex Legends im Terminal-Interface

Diese Ausgabe zeigt das Ergebnis unseres benutzerdefinierten Sprachmodells. Durch die Bereitstellung der richtigen Trainingsdaten konnte IronOCR den Text erfolgreich entschlüsseln, und das Ergebnis ist in einfachem Englisch. Außerdem ist dies die Ausgabe, die durch den Code erzeugt wird.

Die Genauigkeit der OCR für benutzerdefinierte Sprachen hängt von mehreren Faktoren ab:

  • Trainingsdatenqualität: Bessere Trainingsdaten führen zu besseren Ergebnissen
  • Dokumentenkonsistenz: Dokumente, die mit den Trainingsdaten übereinstimmen, schneiden am besten ab
  • Bildauflösung: Höhere DPI-Bilder liefern genauere Ergebnisse - siehe unseren Leitfaden zu DPI-Einstellungen

Best Practices für die Implementierung benutzerdefinierter Sprachen

Bei der Implementierung von OCR für benutzerdefinierte Sprachen in Produktionsumgebungen sollten Sie diese bewährten Verfahren berücksichtigen:

Fehlerbehandlung und Validierung: Überprüfen Sie immer, ob Ihre .traineddata-Datei existiert und zugänglich ist, bevor Sie versuchen, sie zu laden. Implementierung einer angemessenen Fehlerbehandlung für Fälle, in denen die benutzerdefinierte Sprachdatei fehlt oder beschädigt ist.

Leistungsoptimierung: Benutzerdefinierte Sprachmodelle können größer sein als Standard-Sprachpakete. Für optimale Leistung:

  • Zwischenspeichern des geladenen Sprachmodells bei der Verarbeitung mehrerer Dokumente
  • Verwenden Sie die Fortschrittsverfolgung, um lang andauernde OCR-Vorgänge zu überwachen
  • Erwägen Sie die Implementierung von Timeouts für die Verarbeitung großer Dokumente

Kombinieren mit Standardsprachen: Wenn Ihre Dokumente sowohl benutzerdefinierte als auch Standardsprachen enthalten, können Sie mehrere Sprachen gleichzeitig laden. Dies ist besonders nützlich für Dokumente mit gemischtem Inhalt.

Prüfung und Validierung: Einrichtung eines Testrahmens zur Validierung der OCR-Genauigkeit:

Fortgeschrittene Anwendungsfälle

OCR für benutzerdefinierte Sprachen eröffnet zahlreiche Möglichkeiten:

Bewahrung historischer Dokumente: Digitalisieren Sie alte Manuskripte oder Texte, die in veralteten Schriften geschrieben sind Spezialisierte Notationssysteme: Verarbeiten Sie mathematische Gleichungen, musikalische Notation oder technische Diagramme - siehe unseren Leitfaden zur Fehlerbehebung bei Gleichungen Sicherheitsanwendungen: Dekodieren proprietärer Verschlüsselungssysteme oder Chiffren Zugänglichkeit: Konvertierung spezieller Braille-Schrift oder taktiler Schriftsysteme in Standardtext

Für fortgeschrittenere Szenarien können Sie unsere umfassenden Codebeispiele lesen, die verschiedene IronOCR-Funktionen mit Tesseract 5 zeigen.

Häufig gestellte Fragen

Wie führe ich OCR für Dokumente mit benutzerdefinierten Sprachen oder Skripten durch?

IronOCR ermöglicht benutzerdefinierte Sprach-OCR durch das Laden von Tesseract .traineddata-Dateien mit der Methode UseCustomTesseractLanguageFile. So können Sie Text aus jedem beliebigen, individuell trainierten Sprachmodell extrahieren, einschließlich spezieller Skripte, historischer Texte oder Chiffren.

Welches Dateiformat wird für die benutzerdefinierte Spracherkennung benötigt?

IronOCR benötigt eine .traineddata-Datei, die die Trainingsdaten für Ihre benutzerdefinierte Sprache enthält. Diese Datei wird mit der Methode UseCustomTesseractLanguageFile geladen und enthält alle notwendigen Informationen, damit Tesseract die einzigartigen Zeichen Ihrer benutzerdefinierten Sprache erkennen kann.

Kann ich mehrere benutzerdefinierte Sprachen in einem einzigen OCR-Vorgang verwenden?

Ja, IronOCR unterstützt die Erkennung mehrerer Sprachen. Sie können mehrere benutzerdefinierte Sprachdateien laden oder benutzerdefinierte Sprachen mit einer der 125 internationalen Sprachen kombinieren, die von IronOCR standardmäßig unterstützt werden.

Welche Arten von benutzerdefinierten Skripten können erkannt werden?

IronOCR kann jede benutzerdefinierte Schrift erkennen, die ordnungsgemäß in einer .traineddata-Datei trainiert wurde, einschließlich historischer Schriften, erfundener Sprachen, spezieller Notationssysteme und Chiffren. Die Flexibilität erstreckt sich auf jedes Schriftsystem, das mit den Werkzeugen von Tesseract trainiert werden kann.

Wie implementiere ich OCR für benutzerdefinierte Sprachen in meiner C#-Anwendung?

Um benutzerdefinierte Sprach-OCR mit IronOCR zu implementieren: 1) Initialisieren Sie eine IronTesseract-Instanz, 2) Laden Sie Ihre benutzerdefinierte .traineddata-Datei mit UseCustomTesseractLanguageFile, 3) Erstellen Sie ein OcrInput-Objekt und laden Sie Ihr Dokument, 4) Rufen Sie die Read()-Methode auf, um Text zu extrahieren, und 5) Verarbeiten Sie den extrahierten Text nach Bedarf.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 5,246,844 | Version: 2025.12 gerade veröffentlicht