Handschriftliche Bilder mit IronOCR lesen

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

IronOCR bietet eine spezielle Methode, die handgeschriebenen Text zuverlässig aus Bildern digitalisiert und dabei trotz der inhärenten Herausforderungen unregelmäßiger Abstände und Strichvariationen eine Genauigkeit von rund 90 % bei englischer Handschrift erreicht.

Schnellstart: Handschriftbilder mit IronOCR lesen

  1. Installieren Sie IronOCR und das IronOcr.Extensions.AdvancedScan-Paket
  2. Erstellen Sie eine IronTesseract Instanz
  3. Laden Sie Ihr Handschriftbild mit LoadImage() hoch.
  4. Rufen Sie die Methode ReadHandwriting() an
  5. Greifen Sie auf den extrahierten Text von OcrResult zu.
  1. Installieren Sie IronOCR mit NuGet Package Manager

    PM > Install-Package IronOcr
  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    using IronOcr;
    
    var ocrTesseract = new IronTesseract();
    using var ocrInput = new OcrInput();
    ocrInput.LoadImage("handwriting.png");
    var ocrResult = ocrTesseract.ReadHandwriting(ocrInput);
    Console.WriteLine(ocrResult.Text);
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronOCR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion

    arrow pointer

Das automatische Lesen von handgeschriebenem Text aus Bildern ist äußerst schwierig, da Menschen unterschiedlich schreiben. Diese massive Inkonsistenz macht die OCR zu einer Herausforderung. Wichtige Dokumente wie alte Aufzeichnungen, Patientenaufnahmeformulare und Kundenumfragen müssen immer noch manuell bearbeitet werden, was zu fehleranfälligen Arbeitsabläufen führt, die die Datenintegrität gefährden.

IronOCR löst dieses Problem durch die Einführung einer speziellen Methode zum zuverlässigen Verstehen und Digitalisieren von Handschriftbildern. IronOCR basiert auf der leistungsstarken Tesseract 5-Engine und kombiniert fortschrittliche Bildverarbeitung mit maschinellem Lernen, um branchenführende Handschrifterkennungsfunktionen zu bieten.

Dieser Leitfaden führt Sie Schritt für Schritt durch die Implementierung von OCR für Handschriften in Ihren .NET-Anwendungen. Ganz gleich, ob Sie historische Dokumente digitalisieren, medizinische Formulare bearbeiten oder handschriftliche Notizen konvertieren, Sie erfahren, wie Sie mit IronOCR zuverlässige Ergebnisse erzielen.

Erste Schritte mit IronOCR


Um diese Funktion zu nutzen, müssen Sie zunächst das Paket IronOcr.Extensions.AdvancedScan installieren. Bitte beachten Sie, dass die Methode ReadHandwriting derzeit nur Englisch unterstützt. Für die OCR mehrerer Sprachen verwenden Sie die Standardmethode Read() mit den entsprechenden Sprachpaketen.

Wie lese ich handschriftliche Bilder mit IronOCR?

Das Lesen eines handschriftlichen Bildes mit IronOCR ist ganz einfach. Zuerst wird die OCR-Engine instanziiert, dann wird das Bild mit LoadImage geladen und schließlich wird die spezielle Methode ReadHandwriting verwendet, die für die Handschrifterkennung entwickelt wurde. Drucken Sie den extrahierten Text aus, um die Genauigkeit und den Inhalt zu überprüfen.

Vor der Bearbeitung sollten Sie Bildqualitätskorrekturfilter anwenden, um die Lesbarkeit zu verbessern. Diese Filter können die Erkennungsgenauigkeit erheblich verbessern, insbesondere bei gescannten Dokumenten mit geringem Kontrast oder geringer Auflösung.

Welches Eingabeformat sollte ich verwenden?

Beispiel eines handschriftlichen Eingabebildes mit kursivem Text für die OCR-Verarbeitung
:path=/static-assets/ocr/content-code-examples/how-to/read-handwritten-image.cs
using IronOcr;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

// Load handwriting image
var inputHandWriting = new OcrInput();
inputHandWriting.LoadImage("handwritten.png");

// Perform OCR on the handwriting image
OcrHandwritingResult result = ocr.ReadHandwriting(inputHandWriting);

// Output the recognized handwritten text
Console.WriteLine(result.Text);
// Output the confidence score of the OCR result
Console.WriteLine(result.Confidence);
$vbLabelText   $csharpLabel

Welche Ergebnisse kann ich erwarten?

OCR-Ausgabeergebnisse mit extrahiertem handschriftlichem Text und Konfidenzwert

Die Methode ReadHandwriting erreichte eine Konfidenzrate von 90,6 % und identifizierte den Großteil des Textes, einschließlich des einleitenden Satzes "Mein Name ist Erin Fish", korrekt.

Dieses überzeugende Ergebnis beweist die Fähigkeit von IronOCR, auch anspruchsvolle handschriftliche Texte zu übersetzen. Obwohl die Engine mit den Abständen und den zusammenhängenden Buchstaben zu kämpfen hatte, gelang es ihr, die Kernaussage zu extrahieren. Dies zeigt, dass IronOCR komplexe, nicht standardisierte Texte effektiv handhabt.

OCR-Neulinge sollten mit unserem einfachen OCR-Tutorial beginnen, um die Grundlagen zu verstehen, bevor sie sich an die Handschrifterkennung machen.

Wie verwende ich die Async-Version?

IronOCR unterstützt eine asynchrone Version: ReadHandwritingAsync. Dies ist nützlich, wenn es um asynchronen Code geht, der das Abrufen von Eingabebildern vor der Verarbeitung erfordert. Die async support documentation bietet eine umfassende Anleitung zur Implementierung asynchroner OCR-Operationen.

Unter Verwendung derselben Eingabe wird hier gezeigt, wie man die async-Methode verwendet:

:path=/static-assets/ocr/content-code-examples/how-to/read-handwritten-image-async.cs
using IronOcr;
using System;
using System.Threading.Tasks;

using System;
using System.Threading.Tasks;
#endregion

public class read_handwritten_image_async
{
    public async Task codeAsync()
    {
        // Instantiate OCR engine
        var ocr = new IronTesseract();

        // Load handwriting image
        var inputHandWriting = new OcrInput();
        inputHandWriting.LoadImage("handwritten.png");

        // Perform OCR using the async method with 'await'.
        // The compiler automatically infers this top-level code block as an 'async Task Main()' method.
        OcrHandwritingResult result = await ocr.ReadHandwritingAsync(inputHandWriting);

        // Output the recognized handwriting text
        Console.WriteLine(result.Text);
        // Output the confidence score of the OCR result
        Console.WriteLine(result.Confidence);
    
$vbLabelText   $csharpLabel

Sie können einen optionalen Parameter timeoutMs angeben, um Millisekunden vor der automatischen Abbruchzeit festzulegen. Der Standardwert ist -1, was bedeutet, dass es kein Zeitlimit gibt – der Vorgang läuft bis zum Abschluss.

Fortgeschrittene Verarbeitungstechniken

Für komplexe Handschrifterkennungsszenarien sollten Sie diese fortgeschrittenen Techniken in Betracht ziehen:

Regionsspezifische OCR: Wenn Sie mit Formularen oder strukturierten Dokumenten arbeiten, verwenden Sie regionale OCR, um sich auf bestimmte Bereiche mit handschriftlichem Text zu konzentrieren. Dieser Ansatz verbessert die Genauigkeit, indem er den Bearbeitungsbereich einschränkt:

using IronOcr;
using IronSoftware.Drawing;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();

// Define a specific region for signature area
var signatureRegion = new CropRectangle(x: 100, y: 500, width: 300, height: 100);
ocrInput.LoadImage("form-with-signature.png", signatureRegion);

var signatureResult = ocrTesseract.ReadHandwriting(ocrInput);
Console.WriteLine($"Signature text: {signatureResult.Text}");
using IronOcr;
using IronSoftware.Drawing;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();

// Define a specific region for signature area
var signatureRegion = new CropRectangle(x: 100, y: 500, width: 300, height: 100);
ocrInput.LoadImage("form-with-signature.png", signatureRegion);

var signatureResult = ocrTesseract.ReadHandwriting(ocrInput);
Console.WriteLine($"Signature text: {signatureResult.Text}");
$vbLabelText   $csharpLabel

Fortschrittsverfolgung: Für die Stapelverarbeitung mehrerer handschriftlicher Dokumente sollte eine Fortschrittsverfolgung zur Überwachung des OCR-Vorgangs implementiert werden:

ocrTesseract.OcrProgress += (sender, e) => 
{
    Console.WriteLine($"Processing: {e.ProgressPercent}% complete");
};
ocrTesseract.OcrProgress += (sender, e) => 
{
    Console.WriteLine($"Processing: {e.ProgressPercent}% complete");
};
$vbLabelText   $csharpLabel

Welche Herausforderungen sollte ich beachten?

Obwohl IronOCR eine hohe Zuverlässigkeit bei der Beibehaltung der Gesamtstruktur und des Textes erreicht, hat OCR immer noch Probleme mit der Handschrift, was zu lokalisierten Fehlern führt. Häufige Herausforderungen erfordern eine Überprüfung der extrahierten Ausgabe:

Unregelmäßige Abstände: Gedruckter Text hat gleichmäßige Abstände zwischen den Buchstaben. Die Abstände zwischen den Strichen und die Verbindungen zwischen den Buchstaben sind bei der Handschrift sehr unterschiedlich. Dies führt zu einer fehlerhaften Zeichensegmentierung, wie man sieht, wenn ununiformed in einzelne Zeichen (uneinheitlich fokussiert) anstatt in ein einzelnes Wort aufgeteilt wird.

Strichvariation: Jeder Mensch hat eine einzigartige Handschrift, und jeder schreibt denselben Buchstaben anders. Buchstabenverbindungen und -muster variieren erheblich. Dies verhindert ein "Einheitsmodell", da die Engine eine hohe Variabilität bei Strichstärke, Druck und Form bewältigen muss, wodurch der Musterabgleich weniger zuverlässig ist als bei standardisierten Schriftarten.

Mehrdeutige Zeichenformen : Handschriften verwenden oft vereinfachte oder hastig ausgeführte Striche, wodurch mehrdeutige Formen entstehen. Ein schnell geschriebenes e könnte einem c ähneln, oder verbundene l und i könnten verwechselt werden.

Qualitäts- und Auflösungsprobleme: Schlechte Scanqualität, geringe Auflösung oder verblasste Tinte beeinträchtigen die Erkennungsgenauigkeit erheblich. Wenn Sie auf solche Probleme stoßen, finden Sie in unserer Allgemeinen Anleitung zur Fehlerbehebung Lösungen.

Überprüfen Sie bei dieser Methode, ob die Ausgabe mit der beabsichtigten Eingabe übereinstimmt, und achten Sie dabei besonders auf eng beieinander stehende oder schlecht gebildete Wörter. Ziehen Sie die Implementierung einer Nachbearbeitungslogik in Betracht, um häufige Fehlinterpretationen zu behandeln, die für Ihren Anwendungsfall spezifisch sind.

Warnung Die ReadHandwriting Methode kann bei kursiver Schrift nur eine geringe Genauigkeit bei der OCR-Extraktion erreichen.

Häufig gestellte Fragen

Welche Genauigkeit kann ich bei der Extraktion von handschriftlichem Text aus Bildern erwarten?

Die ReadHandwriting-Methode von IronOCR erreicht bei der Erkennung englischer Handschriften eine Genauigkeit von etwa 90 %, obwohl unregelmäßige Abstände und Strichvariationen die OCR von Handschriften besonders schwierig machen.

Welche Sprachen werden für die Handschrifterkennung unterstützt?

Die ReadHandwriting-Methode in IronOCR unterstützt derzeit nur Englisch. Für OCR in mehreren Sprachen müssen Sie die Standardmethode Read() mit entsprechenden Sprachpaketen anstelle der speziellen Handschriftmethode verwenden.

Welches zusätzliche Paket muss ich für die OCR von Handschriften installieren?

Um die Handschrifterkennungsfunktion in IronOCR zu nutzen, müssen Sie zusätzlich zur IronOCR-Hauptbibliothek das IronOcr.Extensions.AdvancedScan-Paket installieren.

Wie implementiere ich eine einfache Handschrifterkennung in C#?

Erstellen Sie eine IronTesseract-Instanz, laden Sie Ihr Handschriftbild mit LoadImage(), rufen Sie die Methode ReadHandwriting() auf und greifen Sie auf den extrahierten Text aus dem OcrResult zu. IronOCR erledigt die komplexe Bildverarbeitung und das maschinelle Lernen automatisch.

Welche Arten von handschriftlichen Dokumenten können bearbeitet werden?

IronOCR kann verschiedene handschriftliche Dokumente verarbeiten, darunter historische Aufzeichnungen, Patientenaufnahmeformulare, Kundenumfragen und handschriftliche Notizen. Die Bibliothek wurde entwickelt, um die Inkonsistenzen in der menschlichen Handschrift zu bewältigen, die eine manuelle Verarbeitung fehleranfällig machen.

Auf welcher Technologie basiert die Handschrifterkennung?

Die Handschrifterkennung von IronOCR basiert auf der leistungsstarken Tesseract 5-Engine, die fortschrittliche Bildverarbeitung mit Algorithmen des maschinellen Lernens kombiniert und so branchenführende Handschrifterkennungsfunktionen bietet.

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,556,263 | Version: 2026.3 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronOcr
Führen Sie ein Beispiel aus und beobachten Sie, wie Ihr Bild zu durchsuchbarem Text wird.