VERGLEICH MIT ANDEREN KOMPONENTEN

Paddle OCR vs. Tesseract (Vergleich der OCR-Funktionen)

Veröffentlicht 29. April 2024
Teilen Sie:

Die Wahl der richtigen optischen Zeichenerkennung (OCR) ist ein unverzichtbares Werkzeug für alle, die Bilder oder Text in bearbeitbare und durchsuchbare Daten umwandeln wollen. Zwei beliebte Optionen in diesem Bereich sind Paddle OCR und *Tesserakt. Beide nutzen unterschiedliche OCR-Technologien und sind auf unterschiedliche Bedürfnisse zugeschnitten. Dieser Vergleich konzentriert sich auf die Bewertung verschiedener OCR-Engines, um Sie bei der Suche nach der für Ihre Bedürfnisse am besten geeigneten Option zu unterstützen.

Ganz gleich, ob Sie an einer einfachen Aufgabe arbeiten oder mit komplexen Dokumenten zu tun haben, ein Verständnis der Möglichkeiten von Paddle OCR und Tesseract könnte Ihr erster Schritt zu einer effizienteren Datenverarbeitung sein. Wir werden auch eine Bibliothek aus einer Reihe von OCR-Bibliotheken vorstellen, IronOCR zu dem Mix hinzu und bietet einen umfassenderen Vergleich, der Ihnen hilft zu verstehen, welches Tool am besten für Ihre Bedürfnisse geeignet ist.

Paddel OCR

Paddle OCR ist eine bemerkenswerte Lösung mit fortschrittlichen Texterkennungsmodellen, die für die mehrsprachige Texterkennung entwickelt wurden und die Fähigkeiten des PaddlePaddle Deep Learning Frameworks nutzen. Das von PaddlePaddle entwickelte OCR-System ist auf hohe Leistung und umfassende Sprachunterstützung zugeschnitten. Dieses System zeichnet sich durch die Unterstützung von mehr als 50 Sprachen aus und bietet eine Reihe von Tools für die Datenannotation, Synthese und Modellbereitstellung auf verschiedenen Plattformen wie Servern, mobilen Geräten, eingebetteten Systemen und IoT-Geräten.

Wesentliche Merkmale

Paddle OCR bietet zahlreiche OCR-Funktionen mit einer benutzerfreundlichen API für verschiedene Anwendungen. Hier sind seine herausragenden Merkmale:

  1. Mehrsprachige Unterstützung: Paddle OCR kann Text in mehreren Sprachen verarbeiten und bietet Unterstützung für über 50 Sprachen.

  2. Erweiterte Algorithmen: Es enthält fortschrittliche OCR-Methoden und -Algorithmen zur Texterkennung, -erkennung und -klassifizierung. Dazu gehören die neuesten Erkenntnisse aus der Deep-Learning-Forschung, wie die Connectionist Temporal Classification (CTC) verlust, der eine entscheidende Rolle bei der genauen Vorhersage und dem Alignment von Textsequenzen spielt.

  3. Effizienz und Geschwindigkeit: Paddle OCR wurde sowohl für Geschwindigkeit als auch für Genauigkeit optimiert und ist in der Lage, große Mengen von Bildern schnell zu verarbeiten, wodurch es sich für Anwendungen mit hohem Durchsatz eignet.

Lizenz

Paddle OCR wird unter der Apache License 2.0 veröffentlicht, so dass es frei verwendet, verändert und weitergegeben werden kann. Die Installation ist einfach und erfolgt in der Regel mit Paketmanagern wie pip für Python. Benutzer können Paddle OCR und seine Abhängigkeiten mit wenigen Befehlen schnell installieren, was eine einfache Projektintegration ermöglicht.

PaddleSharp installieren

Die Integration von PaddleOCR in ein C#-Projekt in Visual Studio kann durch die Verwendung von PaddleSharp, einem .NET-Wrapper für die Paddle Inference C# API, vereinfacht werden. Dies ermöglicht die direkte Nutzung der Deep-Learning-Funktionen von PaddlePaddle in einer .NET-Umgebung. Hier finden Sie eine Schritt-für-Schritt-Anleitung zum Einrichten von PaddleSharp in Ihrem Projekt:

Voraussetzungen:

  • Stellen Sie sicher, dass Visual Studio auf Ihrem System installiert ist und je nach Projektanforderungen .NET Framework oder .NET Core unterstützt.
  • C#-Kenntnisse und Vertrautheit mit der NuGet-Paketverwaltung in Visual Studio sind ebenfalls unerlässlich.

    Installieren Sie das PaddleSharp-Paket:

  • Öffnen Sie Ihr Projekt in Visual Studio.
  • Navigieren Sie zu der Option "NuGet-Pakete verwalten", indem Sie mit der rechten Maustaste auf Ihr Projekt im Projektmappen-Explorer klicken.

    • Suchen Sie nach Sdcb.PaddleInference und installieren Sie das Paket. Dies ist die Kernbindung, die es .NET-Anwendungen ermöglicht, die Paddle Inference Engine zu nutzen.

    Paddle OCR vs. Tesseract (Vergleich der OCR-Funktionen): Abbildung 1 - Suche nach der Sdcb.PaddleInference im NuGet-Paketmanager

    • Installieren Sie dann die folgenden Pakete:

      * Scdb.PaddleOCR
      
      * OpenCvSharp4
      • Scdb.PaddleOCR.Modelle.Online

      • OpenCvSharp4.runtime.win

    Native und Infrastruktur-Pakete hinzufügen:

  • Abhängig von Ihrer Zielplattform (Windows/Linux) und Anforderungen (CPU/GPU)können zusätzliche Pakete erforderlich sein. Für Windows benötigen Sie möglicherweise Pakete wie Sdcb.PaddleInference.runtime.win64.mkl für MKL-Unterstützung oder **Sdcb.PaddleInference.runtime.win64.cuda*** für GPU-Unterstützung.
  • Installieren Sie diese ebenfalls über den NuGet-Paketmanager, um die Kompatibilität mit Ihrer Entwicklungs- und Zielausführungsumgebung sicherzustellen.

Code-Beispiel

using System;
FullOcrModel model = await OnlineFullModels.EnglishV3.DownloadAsync();
using (PaddleOcrAll all = new(model)
{
    AllowRotateDetection = true,
    Enable180Classification = false,
})
using (Mat imgSrc = Cv2.ImRead(@"read.jpg"))
{
    Stopwatch stopWatch = Stopwatch.StartNew();
    PaddleOcrResult result = all.Run(imgSrc);
    Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms");
    Console.WriteLine(result.Text);
}
using System;
FullOcrModel model = await OnlineFullModels.EnglishV3.DownloadAsync();
using (PaddleOcrAll all = new(model)
{
    AllowRotateDetection = true,
    Enable180Classification = false,
})
using (Mat imgSrc = Cv2.ImRead(@"read.jpg"))
{
    Stopwatch stopWatch = Stopwatch.StartNew();
    PaddleOcrResult result = all.Run(imgSrc);
    Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms");
    Console.WriteLine(result.Text);
}
Imports System
Private model As FullOcrModel = await OnlineFullModels.EnglishV3.DownloadAsync()
Using all As New PaddleOcrAll(model) With {
	.AllowRotateDetection = True,
	.Enable180Classification = False
}
Using imgSrc As Mat = Cv2.ImRead("read.jpg")
	Dim stopWatch As Stopwatch = Stopwatch.StartNew()
	Dim result As PaddleOcrResult = all.Run(imgSrc)
	Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms")
	Console.WriteLine(result.Text)
End Using
End Using
VB   C#

Paddle OCR vs. Tesseract (Vergleich der OCR-Funktionen): Abbildung 2 - Konsolenausgabe des vorherigen Codes.

Tesseract OCR

*Tesserakt ist eine weithin anerkannte Open-Source-OCR-Engine und steht unter der Apache-2.0-Lizenz. Die Entwicklung begann in den Hewlett-Packard Laboratories und wurde unter der Leitung von Google bis 2018 fortgesetzt, danach wurde es als Open Source veröffentlicht. Jetzt wird sie von einer Gemeinschaft von Mitwirkenden gepflegt. Die Engine ist bekannt für ihre Fähigkeit, über 100 Sprachen zu lesen und verschiedene Bildformate wie PNG, JPEG und TIFF zu unterstützen. Die Ausgabe erfolgt in mehreren Formaten, z. B. als einfacher Text, hOCR (HTML), PDF, und mehr.

Wesentliche Merkmale

Hier finden Sie einen Überblick über die wichtigsten Funktionen:

  1. Umfassende Sprachunterstützung: Mit der Fähigkeit, über 100 Sprachen zu erkennen, richtet sich Tesseract an ein globales Publikum. Die Engine unterstützt Unicode (UTF-8)und ermöglicht die Verarbeitung mehrsprachiger Dokumente.

  2. Neuronale Netzwerk-basierte Erkennung: Mit Version 4 und höher von Tesseract wurde ein neuronales Netzwerk eingeführt (LSTM) basierte OCR-Engine, die ihre Genauigkeit bei der Erkennung von Textzeilen im Vergleich zu den herkömmlichen Verfahren zur Erkennung von Zeichenmustern verbessert.

  3. Variable Ausgabeformate: Tesseract unterstützt verschiedene Ausgabeformate, darunter einfachen Text, hOCR (HTML), PDF und TSV, was es für verschiedene Anwendungsfälle anpassbar macht.

Lizenz

Tesseract OCR wird unter der Apache License 2.0 veröffentlicht. Diese Lizenz ist eine der freizügigsten und offensten Lizenzen und erlaubt die praktisch uneingeschränkte Freiheit, die Software zu verwenden, zu verändern und zu verbreiten, sogar in proprietären Softwareprojekten.

Tesseract installieren

Um Tesseract OCR in einem Visual Studio Projekt mit NuGet zu installieren, gehen Sie folgendermaßen vor:

  1. Öffnen Sie Visual Studio: Starten Sie Visual Studio und öffnen Sie Ihr Projekt oder erstellen Sie ein neues Projekt.

  2. Klicken Sie mit der rechten Maustaste auf Ihr Projekt im Projektmappen-Explorer und wählen Sie NuGet-Pakete verwalten... 3. Wechseln Sie im NuGet-Paketmanager auf die Registerkarte Durchsuchen und suchen Sie nach Tesseract.

    1. Installieren Sie den Tesseract NuGet-Paketmanager.

    Paddle OCR vs. Tesseract (Vergleich der OCR-Funktionen): Abbildung 3 - Installation von Tesseract mit dem NuGet-Paketmanager

  3. Laden Sie Tessdata von dieser Seite herunter Link. Es ist wichtig, Tesseract OCR zu verwenden.

Code-Beispiel

using Tesseract;
using (var engine = new TesseractEngine(@".\tessdata-main", "eng", EngineMode.Default))
{
    using (var img = Pix.LoadFromFile(@"read.jpg"))
    {
        using (var page = engine.Process(img))
        {
            var text = page.GetText();
            Console.WriteLine(text);
        }
    }
}
using Tesseract;
using (var engine = new TesseractEngine(@".\tessdata-main", "eng", EngineMode.Default))
{
    using (var img = Pix.LoadFromFile(@"read.jpg"))
    {
        using (var page = engine.Process(img))
        {
            var text = page.GetText();
            Console.WriteLine(text);
        }
    }
}
Imports Tesseract
Using engine = New TesseractEngine(".\tessdata-main", "eng", EngineMode.Default)
	Using img = Pix.LoadFromFile("read.jpg")
		Using page = engine.Process(img)
			Dim text = page.GetText()
			Console.WriteLine(text)
		End Using
	End Using
End Using
VB   C#

Paddle OCR vs. Tesseract (Vergleich der OCR-Funktionen): Abbildung 4 - Konsolenausgabe aus dem vorherigen Codebeispiel

IronOCR

IronOCR ist eine erweiterte OCR (Optische Zeichenerkennung) bibliothek, die die Möglichkeiten von .NET-Entwicklern erheblich erweitert, um Text aus Bildern extrahieren und PDFs. IronOCR baut auf der Grundlage der Tesseract OCR-Engine auf und bietet ein natives C#-Erlebnis, das eine höhere Stabilität und Genauigkeit als die Basisversion bietet Tesseract-Bibliothek. Es ist so konzipiert, dass es sich nahtlos in .NET-Anwendungen und Websites integrieren lässt. Es ermöglicht die Extraktion von Text in reine Text- oder strukturierte Datenformate und ist in der Lage, eine breite Palette von Fremdsprachen zu verstehen. Durch den Einsatz von Deep-Learning-Algorithmen erreicht der IronOCR eine unvergleichliche Genauigkeit bei der Texterkennung.

Diese Bibliothek eignet sich nicht nur für einfache OCR-Aufgaben, sondern erweitert ihre Funktionalität auf ein breites Spektrum von Anwendungen. Es unterstützt eine Vielzahl von Plattformen, darunter die .NET-Versionen 5 bis 8, .NET Core 2x & 3x sowie das .NET-Framework 4.6.2 und höher.

Wesentliche Merkmale

Hier sind einige der wichtigsten Eigenschaften und Funktionen, die IronOCR auszeichnen:

Erweiterte OCR-Engine: IronOCR nutzt Tesseract 5 und bietet eine fortschrittliche OCR-Engine, die Folgendes unterstützt 125+ Sprachen. Diese Fähigkeit ist entscheidend für globale Anwendungen, die mehrsprachige Unterstützung erfordern. Die Bibliothek bietet Optionen für hohe, mittlere und schnelle Qualität für die meisten Sprachen, einschließlich benutzerdefinierter Sprachen und Schriftartentraining, was Flexibilität und hohe Genauigkeit bei der Texterkennung gewährleistet.

Umfassende Dokumentenverarbeitung: IronOCR kann eine Vielzahl von Dokumenttypen und -formaten verarbeiten, darunter auch Bilder (JPG, PNG, GIF, TIFF, BMP), System.Drawing-Objekte, Streams und PDFs.

Robuste Bildverarbeitung: Die Bibliothek enthält eine Reihe leistungsfähiger Filter und Bildbearbeitungswerkzeuge, wie z. B. Schärfen, Auflösungsverbesserung, Rauschunterdrückung und Farbkorrektur (binarisieren, Graustufen, Invertieren).

Strukturierte und einfache Datenausgabe: IronOCR bietet sowohl eine strukturierte Datenausgabe (seiten, Blöcke, Absätze, Zeilen, Wörter, Zeichen) und einfache Datenausgabe (.NET Textstrings, Barcode- und QR-Daten, Bilder).

Gleichzeitige Verarbeitung und Computer Vision: Die Bibliothek unterstützt Single- und Multi-Threading, asynchrone Operationen und bietet Computer-Vision-Funktionen zur Identifizierung von Textregionen in Bildern, wodurch die Genauigkeit und Effizienz der Texterkennung in komplexen oder verrauschten Bildern verbessert wird.

Um IronOCR in Ihrem .NET-Projekt zu installieren, können Sie je nach Ihrer Entwicklungsumgebung und Ihren Präferenzen verschiedene Methoden anwenden. Hier ist ein kurzer Leitfaden, der Ihnen den Einstieg erleichtert:

Lizenz

IronOCR bietet verschiedene Lizenzierungsoptionen, die auf die unterschiedlichen Projekt- und Entwicklerbedürfnisse zugeschnitten sind und den Benutzern Flexibilität und Skalierbarkeit garantieren. Die Lizenzbedingungen sind unbefristet, d. h., wenn Sie eine Lizenz erworben haben, fallen keine weiteren Gebühren an. Darüber hinaus beinhaltet jede Lizenz eine 30-tägige Geld-zurück-Garantie, ein Jahr Produktsupport und Updates und ist für Entwicklungs-, Staging- und Produktionsumgebungen gültig. Der Lizenzpreis beginnt bei $749. Sie können eine kostenlos testen bevor Sie die Lizenz erwerben.

IronOCR installieren

  1. Navigieren Sie zu Tools -> NuGet Package Manager -> Package Manager Console.

    1. Geben Sie den Befehl Install-Package IronOcr ein und führen Sie ihn aus. Mit diesem Befehl wird IronOCR in Ihr Projekt geholt und installiert, so dass es sofort einsatzbereit ist.

    Paddle OCR vs. Tesseract (Vergleich der OCR-Funktionen): Abbildung 5 - Verwendung der Paketmanager-Konsole zur Installation von IronOCR

Code-Beispiel

Hier ein Codebeispiel, wie Sie mit IronOCR Text aus einem Bild extrahieren können:

using IronOcr;
IronOcr.License.LicenseKey = "License-Key";
var ocrMode = new IronTesseract();
var resultText = ocrMode.Read("read.jpg");
Console.WriteLine(resultText.Text);
using IronOcr;
IronOcr.License.LicenseKey = "License-Key";
var ocrMode = new IronTesseract();
var resultText = ocrMode.Read("read.jpg");
Console.WriteLine(resultText.Text);
Imports IronOcr
IronOcr.License.LicenseKey = "License-Key"
Dim ocrMode = New IronTesseract()
Dim resultText = ocrMode.Read("read.jpg")
Console.WriteLine(resultText.Text)
VB   C#

Paddle OCR vs. Tesseract (Vergleich der OCR-Funktionen): Abbildung 6 - Konsolenausgabe aus dem vorherigen Codebeispiel

Vergleich

Bei der Bewertung von IronOCR, PaddleOCR und Tesseract anhand verschiedener für die optische Zeichenerkennung wichtiger Faktoren (OCR) anwendungen ist es wichtig, die Stärken der einzelnen Tools in Bezug auf Genauigkeit, Geschwindigkeit, Sprachunterstützung, Anpassungsmöglichkeiten und Community-Unterstützung zu berücksichtigen.

Genauigkeit

Sowohl PaddleOCR als auch Tesseract haben in Benchmarks eine hohe Genauigkeit gezeigt, aber IronOCRs Fähigkeit zur Feinabstimmung und Anpassung von Vorverarbeitungsschritten verschafft ihm einen Vorteil bei der Erzielung hervorragender Ergebnisse bei verschiedenen Dokumenttypen.

Geschwindigkeit

IronOCR for .NET zeichnet sich durch eine effiziente Verarbeitung von Dokumenten in der .NET-Umgebung aus und bietet eine optimierte Leistung für eine schnelle Texterkennung. PaddleOCR und Tesseract sind ebenfalls für ihre Echtzeitverarbeitungsfähigkeiten bekannt.

Sprachliche Unterstützung

Tesseract unterstützt über 100 Sprachen und ist damit eines der vielseitigsten OCR-Tools, was die Sprachabdeckung angeht. PaddleOCR bietet auch eine beeindruckende Sprachunterstützung, insbesondere für asiatische Sprachen. IronOCR, das die Tesseract-Engine nutzt, übernimmt diese umfangreiche Sprachunterstützung und kombiniert sie mit zusätzlichen Erweiterungen und Optimierungen. Diese Kombination erweitert nicht nur das Spektrum der effektiv bearbeiteten Sprachen, sondern verbessert auch die Genauigkeit und Geschwindigkeit für Sprachen, die von IronOCRs Erweiterungen direkt unterstützt werden.

Anpassungsoptionen

IronOCR zeichnet sich bei dieser Anpassung durch eine breite Palette von Optionen aus, die es Entwicklern ermöglichen, den OCR-Prozess feinabzustimmen, einschließlich Bildvorverarbeitung, Textfilterung und benutzerdefinierte Wörterbücher. Dieser Grad der Anpassung ist besonders wertvoll in komplexen OCR-Szenarien, in denen die Standardeinstellungen möglicherweise nicht ausreichen. Während PaddleOCR und Tesseract einige Anpassungsmöglichkeiten bieten, gewährleistet IronOCRs Fokus auf die Bedürfnisse der Entwickler innerhalb des .NET-Ökosystems ein höheres Maß an Flexibilität.

Unterstützung der Gemeinschaft

Während sich Tesseract aufgrund seiner langen Geschichte und seines Open-Source-Charakters einer großen und etablierten Community erfreut und die Community von PaddleOCR schnell wächst, profitiert IronOCR von einer konzentrierten Community von .NET-Entwicklern.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass Tesseract mit seinen umfangreichen Anpassungsmöglichkeiten und der breiten Unterstützung durch die Community eine solide Grundlage für OCR-Projekte bietet und PaddleOCR mit seiner hochmodernen Deep-Learning-Technologie für hohe Genauigkeit und Geschwindigkeit sorgt, während IronOCR für .NET-Entwickler und Unternehmen eine überzeugende Option darstellt. Durch die Konzentration auf die Bereitstellung vor Ort, die umfassende Sprachunterstützung und das kostengünstige Lizenzierungsmodell ist IronOCR eine attraktive Wahl für alle, die Wert auf Datensicherheit, finanzielle Vorhersehbarkeit und die Integration in .NET-Anwendungen legen.

IronOCR ist für Unternehmen aufgrund seiner flexiblen Lizenzierungsoptionen besonders attraktiv, die eine kostenlos testen für eine erste Evaluierung und Lizenzen ab 749 US-Dollar, die sich an Unternehmen jeder Größe richten, die ein ausgewogenes Verhältnis zwischen Leistung und Kosten suchen.

< PREVIOUS
iOS OCR-Bibliothek (Kostenloser und kostenpflichtiger Tool-Vergleich)
NÄCHSTES >
Abbyy Finereader vs. Tesseract (Vergleich der OCR-Funktionen)

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

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