Zum Fußzeileninhalt springen
MIT ANDEREN KOMPONENTEN VERGLEICHEN

Ein Vergleich zwischen IronOCR und Dynamsoft OCR

Optische Zeichenerkennung oder OCR ist ein Datenerfassungsprozess, der die Erkennung und Digitalisierung von Texten, sowohl handschriftlich als auch gedruckt, umfasst. Es handelt sich um eine Art von Computertechnologie, die Bildanalyse einsetzt, um digitale Fotos von gedrucktem Text in Buchstaben und Zahlen umzuwandeln, die von anderen Programmen wie Textverarbeitungsprogrammen verwendet werden können. Der Text wird in Zeichencodes umgewandelt, sodass er auf einem Computer durchsucht und geändert werden kann.

Während die Vergangenheit eine Welt war, in der alle Dokumente physisch waren, und die Zukunft eine Gesellschaft sein könnte, in der alle Dokumente digital sind, befindet sich die Gegenwart im Wandel. Physische und digitale Dokumente koexistieren in diesem Übergangszustand – daher sind Technologien wie OCR entscheidend für die wechselseitige Umwandlung.

Dokumentenwiederherstellung, Dateneingabe und Zugänglichkeit sind nur einige der Anwendungen für OCR. Der Großteil der OCR-Anwendungen stammt aus gescannten Dokumenten, obwohl gelegentlich auch Fotos verwendet werden. OCR ist ein wertvoller Zeitersparer, da das erneute Abtippen des Materials oft die einzige andere Option ist. Die folgenden Beispiele zeigen, wie OCR eingesetzt werden kann:

  • Bearbeitbare Textdateien können aus gescannten Dokumenten wie Faxen wiederhergestellt werden.
  • Mithilfe von Buchscans können durchsuchbare und bearbeitbare E-Books erstellt werden.
  • Screenshot-Fotos können verwendet werden, um Text zu suchen und zu ändern.
  • Text-to-Speech-Technologie wird verwendet, um Bücher für sehbehinderte Menschen vorzulesen.

Obwohl dies nur einige Anwendungen für OCR sind, demonstrieren sie die Vielseitigkeit der Technologie in einer Vielzahl von Branchen. Fast alle Mitarbeiter in allen Unternehmen verlassen sich täglich erheblich auf Dokumente, daher ist der Einsatz in der Wirtschaft ein wichtiges Kriterium bei der Entwicklung von OCR-Systemen.

In diesem Artikel werden wir die beiden leistungsstärksten OCR-Reader vergleichen:

  • IronXL
  • Dynamsoft OCR

IronOCR und Dynamsoft OCR sind zwei .NET OCR-Bibliotheken, die die Umwandlung gescannter Bilder und die OCR-Verarbeitung von PDF-Dokumenten unterstützen. Sie können Bilder mit nur wenigen Codezeilen in durchsuchbaren Text umwandeln. Sie können auch einzelne Wörter, Buchstaben und Absätze abrufen.

IronOCR — die herausragenden Funktionen

IronOCR bietet die einzigartige Fähigkeit, Text aus Bildern und PDF-Dokumenten zu erkennen, zu lesen und zu interpretieren, die nicht genau gescannt wurden. IronOCR bietet den einfachsten Ansatz zur Extraktion von Texten aus Dokumenten und Fotos, auch wenn es nicht immer der schnellste ist, da es automatisch niedrige Qualitätsscans schärft und korrigiert, Verzerrungen, Hintergrundgeräusche und Perspektivenprobleme reduziert und gleichzeitig Auflösung und Kontrast verbessert.

Mit IronOCR können Entwickler ihm einzeln oder mehrfach gescannte Seitenbilder senden und es wird alle Text-, Barcode- und QR-Informationen zurückgeben. Ein Satz von Klassen in der OCR-Bibliothek fügt Web-, Desktop- oder Konsolenanwendungen OCR-Fähigkeit hinzu. Tesseract OCR C# und auch net apps JPG, PNG, TIFF, PDF, GIF und BMP sind nur einige der Formate, die als Eingabe verwendet werden können.

IronOCRs Optische Zeichenerkennung (OCR)-Engine kann Texte erkennen, die mit vielen gängigen Schriftarten, Kursivschriften, Fetten und Unterstreichungen vorbereitet wurden. Zuschneideklassen ermöglichen es dem OCR, schnell und präzise zu arbeiten. Beim Arbeiten mit mehrseitigen Dokumenten beschleunigt IronOCRs Multithread-Engine das OCR.

IronOCR Funktionen

Für das Tesseract-Management verwenden wir IronOCR, weil es in folgenden Punkten einzigartig ist:

  • Funktioniert direkt aus der Box in reinem .NET
  • Erfordert keine Installation von Tesseract auf Ihrem Computer
  • Läuft mit den neuesten Engines: Tesseract 5 (ebenso wie Tesseract 4 & 3)
  • Ist für jedes .NET-Projekt verfügbar: .NET Framework 4.5+, .NET Standard 2+ und .NET Core 2, 3 & .NET 5
  • Hat eine verbesserte Genauigkeit und Geschwindigkeit im Vergleich zu traditionellem Tesseract
  • Unterstüzt Xamarin, Mono, Azure und Docker
  • Verwaltet das komplexe Tesseract-Wörterbuchsystem mit NuGet-Paketen
  • Unterstützt PDFs, MultiFrame Tiffs und alle wichtigen Bildformate ohne Konfiguration
  • Kann niedrige Qualität und verzogene Scans korrigieren, um die besten Ergebnisse von Tesseract zu erzielen.

Dynamsoft OCR — Eigenschaften

Die Dynamsoft.NET OCR-Bibliothek ist eine .NET-Komponente, die schnelle und zuverlässige optische Zeichenerkennung bereitstellt. Sie wird zum Erstellen von .NET-Desktop-Anwendungen in C# oder VB.NET verwendet. Sie können einfach Code erstellen, um den nutzlosen Text in PDF oder Fotos in digitalen Text zum Bearbeiten, Suchen, Archivieren und mehr umzuwandeln, indem Sie die einfachen OCR-APIs verwenden.

Bilder von Scannern und anderen TWAIN-kompatiblen Geräten können auf folgende Weise erworben werden:

  • Native, gepufferte Speicher- und Festplattendatei-Bildübertragungsmechanismen werden alle unterstützt.
  • Mit dem automatischen Dokumenteneinzug ist Batch-Scanning möglich (ADF).
  • TWAIN-Attribute können verwendet werden, um gängige Gerätefunktionen zu ändern.
  • IfAutoFeed, IfAutoScan, Auflösung, Farbtiefe, Helligkeit, Kontrast, Einheit, Duplex und andere Funktionen können alle geändert werden.
  • Unterstützt die Erkennung von leeren Seiten.
  • Ermöglicht das Ändern und Speichern von Scannerprofilen.

Bilder von Webcams aufnehmen, die UVC- und WIA-kompatibel sind:

  • Zeigen Sie einen Live-Video-Feed an, während Sie Fotos von einer ausgewählten Webcam aufnehmen.
  • Passen Sie die Kameraeinstellungen an: Helligkeit, Kontrast, Farbton, Sättigung, Schärfe, Gamma, Weißabgleich, Gegenlichtkompensation, Verstärkung, Farbe aktivieren, Zoom, Fokus, Belichtung, Blende, Schwenken, Neigen, Rollen.

Robustes Bildladen/-anzeigen

  • Bilder in BMP-, JPEG-, PNG-, TIFF- und mehrseitigen TIFF-Formaten können geladen werden.
  • Es wird unterstützt, auf Fotos zu vergrößern und zu verkleinern.
  • Bilder können von einem lokalen Laufwerk, einem FTP-Server, einem HTTP-Server oder einer Datenbank abgerufen werden.
  • Bilddecodierung für BMP, JPEG, PNG und TIFF unter Verwendung eines der umfassendsten Sätze von .NET-Bildkomponenten

Speichern und Hochladen/Herunterladen

  • Ermöglicht das Lesen und Schreiben von Fotos über einen Dateistream.
  • Unterstützt das Speichern von erfassten Fotos als BMP, JPEG, PNG, TIFF oder mehrseitiges TIFF auf einem lokalen Laufwerk, einem Webserver oder einer Datenbank.
  • RLE-, G3/G4-, LZW-, PackBits- und TIFF-Komprimierung werden alle unterstützt.
  • HTTPS-Uploads und -Downloads werden unterstützt.
  • Eines der umfangreichsten Sätze von .NET-Bildkomponenten unterstützt BMP-, JPEG-, PNG- und TIFF-Bildcodierung.
  • Ermöglicht es Ihnen, neu erworbene Fotos an vorhandene TIFF-Dateien anzuhängen.

Text aus gescannten PDFs oder anderen Bildern in ASP.NET lesen (Optische Zeichenerkennung)

Kunden wollen heute in der schnelllebigen Welt, dass die Arbeit schnell erledigt wird. Kunden mit dringenden Projekten kontaktieren uns häufig. Unsere Technologie kann einfach den Inhalt eines Bildes erkennen und in Text umwandeln, wenn das Projekt das Scannen von Papieren mit Bildern umfasst. Optische Zeichenerkennung (OCR) spart Ihrer Firma Zeit und Geld und reduziert gleichzeitig Tippfehler.

Verwendung von IronOCR

IronOCR verwendet die IronOcr.IronTesseract-Klasse, um seine OCR-Konvertierungen durchzuführen.

Wir verwenden die IronOcr.IronTesseract-Klasse, um Text von einem Bild auszulesen und automatisch sein Ergebnis als String in diesem einfachen Beispiel zurückzugeben.

// PM> Install-Package IronOcr
using IronOcr;

class Program
{
    static void Main(string[] args)
    {
        // Create a new instance of the IronTesseract class
        var ironOcr = new IronTesseract();

        // Read the text from the image
        var result = ironOcr.Read(@"img\Screenshot.png");

        // Output the text to the console
        Console.WriteLine(result.Text);
    }
}
// PM> Install-Package IronOcr
using IronOcr;

class Program
{
    static void Main(string[] args)
    {
        // Create a new instance of the IronTesseract class
        var ironOcr = new IronTesseract();

        // Read the text from the image
        var result = ironOcr.Read(@"img\Screenshot.png");

        // Output the text to the console
        Console.WriteLine(result.Text);
    }
}
' PM> Install-Package IronOcr
Imports IronOcr

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new instance of the IronTesseract class
		Dim ironOcr = New IronTesseract()

		' Read the text from the image
		Dim result = ironOcr.Read("img\Screenshot.png")

		' Output the text to the console
		Console.WriteLine(result.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

Daher ist der folgende Absatz zu 100 Prozent korrekt:

IronOCR einfaches Beispiel

In diesem einfachen Beispiel werden wir die Genauigkeit unserer C# OCR-Bibliothek testen, um Text aus einem PNG zu lesen
Bild. Dies ist ein sehr grundlegender Test, aber die Dinge werden im Laufe des Tutorials komplizierter.

Der schnelle braune Fuchs springt über den faulen Hund

Obwohl es auf den ersten Blick einfach erscheinen mag, passiert hinter den Kulissen ein kompliziertes Verhalten: das Bild nach Ausrichtung, Qualität und Auflösung scannen, seine Attribute betrachten, die OCR-Engine optimieren und schließlich den Text wie ein Mensch lesen.

OCR ist eine schwierige Aufgabe für eine Maschine, und die Lesegeschwindigkeit kann der eines Menschen entsprechen. Anders ausgedrückt, OCR ist kein schneller Vorgang. In diesem Fall ist es jedoch absolut korrekt.

class="content-img-align-center">
class="center-image-wrapper"> Genauigkeit der C# OCR-Anwendungsergebnisse

In den meisten realen Szenarien möchten Entwickler, dass ihre Projekte so schnell wie möglich laufen. In diesem Szenario schlagen wir vor, dass Sie stattdessen die OcrInput- und IronTesseract-Klassen des IronOCR-Add-ons-Namespaces verwenden.

Sie können die genauen Merkmale eines OCR-Jobs mit OcrInput festlegen, wie:

  • JPEG, TIFF, GIF, BMP und PNG sind nur einige der Bildformate, die verwendet werden können
  • PDF-Dokumente vollständig oder in Teilen importieren
  • Der Kontrast, die Auflösung und die Größe des Bildes verbessern
  • Drehung, Rauschen beim Scannen, digitales Rauschen, Verzerrung und negative Bildkorrektur

IronTesseract

Wählen Sie aus Hunderten von vorab gepackten Sprachen und Dialekten

  • Verwenden Sie Tesseract 5, 4 oder 3 OCR-Engines sofort
  • Wenn wir uns einen Screenshot, einen Ausschnitt oder das ganze Dokument ansehen, geben Sie den Dokumenttyp an
  • Barcodes erkennen
  • Durchsuchbare PDFs, Hocr HTML, ein DOM und Strings sind alle Optionen für OCR-Ergebnisse
using IronOcr;

class Program
{
    static void Main(string[] args)
    {
        // Create an instance of IronTesseract
        var ocr = new IronTesseract();

        // Use the OcrInput class to read from an image file
        using (var input = new OcrInput(@"img\Potter.tiff"))
        {
            // Perform the OCR operation
            var result = ocr.Read(input);

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

class Program
{
    static void Main(string[] args)
    {
        // Create an instance of IronTesseract
        var ocr = new IronTesseract();

        // Use the OcrInput class to read from an image file
        using (var input = new OcrInput(@"img\Potter.tiff"))
        {
            // Perform the OCR operation
            var result = ocr.Read(input);

            // Output the recognized text to the console
            Console.WriteLine(result.Text);
        }
    }
}
Imports IronOcr

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create an instance of IronTesseract
		Dim ocr = New IronTesseract()

		' Use the OcrInput class to read from an image file
		Using input = New OcrInput("img\Potter.tiff")
			' Perform the OCR operation
			Dim result = ocr.Read(input)

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

Wir können das auch bei einem Scan mittlerer Qualität mit 100% Genauigkeit verwenden.

class="content-img-align-center">
class="center-image-wrapper"> C# OCR-Scan aus Tiff-Beispiel

Wie Sie sehen können, war das Lesen von Text (und gegebenenfalls Barcodes) aus einem gescannten Bild wie einem TIFF ziemlich einfach. Die Genauigkeit dieses OCR-Jobs beträgt 100 Prozent.

Als nächstes werden wir einen viel niedrigeren Qualitätsscan derselben Seite ausprobieren, bei niedriger DPI und mit vielen Verzerrungen und digitalem Rauschen sowie mit Beschädigungen des Originalpapiers.

class="content-img-align-center">
class="center-image-wrapper"> C# OCR Scan mit niedriger Auflösung und digitalem Rauschen

Hier glänzt IronOCR wirklich im Vergleich zu anderen OCR-Bibliotheken wie Tesseract, und wir werden feststellen, dass andere OCR-Projekte die Verwendung von OCR auf realen gescannten Bildern vermeiden, anstatt unrealistisch "perfekte" Testfälle zu verwenden, die digital erstellt wurden, um 100% OCR-Genauigkeit zu erreichen.

using IronOcr;

class Program
{
    static void Main(string[] args)
    {
        // Create an instance of IronTesseract
        var ocr = new IronTesseract();

        // Use the OcrInput class to read from a low-quality image file
        using (var input = new OcrInput(@"img\Potter.LowQuality.tiff"))
        {
            // Deskew the image to improve accuracy
            input.Deskew();

            // Perform the OCR operation
            var result = ocr.Read(input);

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

class Program
{
    static void Main(string[] args)
    {
        // Create an instance of IronTesseract
        var ocr = new IronTesseract();

        // Use the OcrInput class to read from a low-quality image file
        using (var input = new OcrInput(@"img\Potter.LowQuality.tiff"))
        {
            // Deskew the image to improve accuracy
            input.Deskew();

            // Perform the OCR operation
            var result = ocr.Read(input);

            // Output the recognized text to the console
            Console.WriteLine(result.Text);
        }
    }
}
Imports IronOcr

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create an instance of IronTesseract
		Dim ocr = New IronTesseract()

		' Use the OcrInput class to read from a low-quality image file
		Using input = New OcrInput("img\Potter.LowQuality.tiff")
			' Deskew the image to improve accuracy
			input.Deskew()

			' Perform the OCR operation
			Dim result = ocr.Read(input)

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

Ohne Input.Deskew() hinzuzufügen, um das Bild zu begradigen, erhalten wir eine Genauigkeit von 52,5%. Das ist nicht gut genug.

Durch Hinzufügen von Input.Deskew() erreichen wir eine Genauigkeit von 99,8%, was fast so genau ist wie das OCR eines hochqualitativen Scans.

Verwendung von Dynamsoft OCR

Wir werden einige Codebeispiele vorstellen, um mit Dynamic Web TWAIN TWAIN-Scanning und clientseitiges OCR in JavaScript durchzuführen.

Bilder scannen

Sie können die Scan-Einstellungen ändern und Fotos von TWAIN-Scannern mit den einfachen APIs von Dynamic Web TWAIN erhalten.

function acquireImage() {
    // Select an available TWAIN scanner
    DWObject.SelectSourceByIndex(document.getElementById("source").selectedIndex);

    // Set scanning settings like pixel type, resolution, ADF, etc.
    DWObject.IfShowUI = false; // Do not show the user interface of the scanner
    DWObject.PixelType = 1; // Scan in grayscale
    DWObject.Resolution = 300;
    DWObject.IfFeederEnabled = true; // Scan from auto feeder
    DWObject.IfDuplexEnabled = false;
    DWObject.IfDisableSourceAfterAcquire = true;

    // Acquire images from scanners
    DWObject.AcquireImage();
}
function acquireImage() {
    // Select an available TWAIN scanner
    DWObject.SelectSourceByIndex(document.getElementById("source").selectedIndex);

    // Set scanning settings like pixel type, resolution, ADF, etc.
    DWObject.IfShowUI = false; // Do not show the user interface of the scanner
    DWObject.PixelType = 1; // Scan in grayscale
    DWObject.Resolution = 300;
    DWObject.IfFeederEnabled = true; // Scan from auto feeder
    DWObject.IfDuplexEnabled = false;
    DWObject.IfDisableSourceAfterAcquire = true;

    // Acquire images from scanners
    DWObject.AcquireImage();
}
JAVASCRIPT

Laden Sie das OCR Professional-Modul herunter

Um das OCR Professional-Modul für clientseitiges OCR zu verwenden, müssen Sie ocrpro.js in den Kopf einfügen und auch die OCR Pro DLL herunterladen.

<script type="text/javascript" src="Resources/addon/dynamsoft.webtwain.addon.ocrpro.js"></script>
<script type="text/javascript" src="Resources/addon/dynamsoft.webtwain.addon.ocrpro.js"></script>
HTML

Bearbeiten Sie die .js-Datei:

// Define base path
var CurrentPathName = unescape(location.pathname);
var CurrentPath = CurrentPathName.substring(0, CurrentPathName.lastIndexOf("/") + 1);

// Download the OCR Pro add-on
DWObject.Addon.OCRPro.Download(CurrentPath + "Resources/addon/OCRPro.zip", OnSuccess, OnFailure);
// Define base path
var CurrentPathName = unescape(location.pathname);
var CurrentPath = CurrentPathName.substring(0, CurrentPathName.lastIndexOf("/") + 1);

// Download the OCR Pro add-on
DWObject.Addon.OCRPro.Download(CurrentPath + "Resources/addon/OCRPro.zip", OnSuccess, OnFailure);
JAVASCRIPT

Text mit OCR erkennen

Das Extrahieren von Text aus gescannten Bildern mit der JS OCR-Erkennungs-API ist so einfach wie das Einfügen des folgenden Codes.

// Recognize text from the image at index 0
DWObject.Addon.OCRPro.Recognize(0, GetOCRProInfo, GetErrorInfo); // 0 is the index of the image
// Recognize text from the image at index 0
DWObject.Addon.OCRPro.Recognize(0, GetOCRProInfo, GetErrorInfo); // 0 is the index of the image
JAVASCRIPT

Gelesene beschnittene Regionen von Bildern

Beide Softwaresätze bieten Lösungen zum Zuschneiden von Bildern für OCR.

Lesen von beschnittenen Regionen mit IronOCR

The Iron's branch of Tesseract OCR is adept at reading specific regions of images, as shown in the following code sample.

Wir verwenden System.Drawing.Rectangle, um die genaue Region eines Bildes in Pixeln zu beschreiben, das gelesen werden soll.

Wenn man mit einem standardisierten Formular zu tun hat, das ausgefüllt wird, und nur ein Teil des Inhalts sich von Fall zu Fall ändert, kann dies wirklich nützlich sein.

Ein Abschnitt einer Seite scannen: Wir verwenden System.Drawing.Rectangle, um eine Region festzulegen, die aus einem Dokument gelesen werden soll, um Geschwindigkeit und Genauigkeit zu verbessern.

class="content-img-align-center">
class="center-image-wrapper"> C# OCR-Scan aus Tiff-Beispiel
class="content-img-align-center">
class="center-image-wrapper"> C# OCR-Scan aus Tiff-Beispiel
using IronOcr;
using System.Drawing;

class Program
{
    static void Main(string[] args)
    {
        // Create an instance of IronTesseract
        var ocr = new IronTesseract();

        using (var input = new OcrInput())
        {
            // Define content area of interest
            var contentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };

            // Add the specific region to the input
            input.AddImage("img/ComSci.png", contentArea);

            // Perform OCR operation
            var result = ocr.Read(input);

            // Output recognized text to console
            Console.WriteLine(result.Text);
        }
    }
}
using IronOcr;
using System.Drawing;

class Program
{
    static void Main(string[] args)
    {
        // Create an instance of IronTesseract
        var ocr = new IronTesseract();

        using (var input = new OcrInput())
        {
            // Define content area of interest
            var contentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };

            // Add the specific region to the input
            input.AddImage("img/ComSci.png", contentArea);

            // Perform OCR operation
            var result = ocr.Read(input);

            // Output recognized text to console
            Console.WriteLine(result.Text);
        }
    }
}
Imports IronOcr
Imports System.Drawing

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create an instance of IronTesseract
		Dim ocr = New IronTesseract()

		Using input = New OcrInput()
			' Define content area of interest
			Dim contentArea = New Rectangle() With {
				.X = 215,
				.Y = 1250,
				.Height = 280,
				.Width = 1335
			}

			' Add the specific region to the input
			input.AddImage("img/ComSci.png", contentArea)

			' Perform OCR operation
			Dim result = ocr.Read(input)

			' Output recognized text to console
			Console.WriteLine(result.Text)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Dies führt zu einer Geschwindigkeitssteigerung von 41 Prozent und ermöglicht uns gleichzeitig, spezifizierter zu sein. Dies ist extrem wertvoll für .NET OCR-Anwendungen, die sich mit vergleichbaren und konsistenten Dokumenten befassen, einschließlich Rechnungen, Quittungen, Schecks, Formularen, Spesenabrechnungen und so weiter.

Beim Lesen von PDFs werden auch ContentAreas (OCR-Zuschneiden) unterstützt.

Lesen von beschnittenen Regionen mit Dynamsoft OCR

Zuerst starten Sie Visual Studio und erstellen eine neue C# Windows Forms-Anwendung oder öffnen eine bestehende. Wir müssen DynamicDotNetTWAIN.dll, DynamicOCR.dll und das entsprechende Sprachpaket einfügen.

  1. Navigieren Sie zu Werkzeuge -> Toolbox-Elemente auswählen, dann zum Tab .NET Framework-Komponenten, klicken Sie auf die Schaltfläche Durchsuchen und finden Sie DynamicDotNetTWAIN.dll.

  2. Klicken Sie mit der rechten Maustaste auf die Projektdatei im Solution Explorer und wählen Hinzufügen->Vorhandenes Element hinzufügen... aus. fügen Sie dann die notwendigen Elemente aus dem OCR-Ressourcenverzeichnis hinzu.

Dies ist der Code zum Klicken auf die LoadImage-Schaltfläche:

private void button1_Click(object sender, EventArgs e) 
{
    OpenFileDialog filedlg = new OpenFileDialog(); 
    if (filedlg.ShowDialog() == DialogResult.OK) 
    { 
        dynamicDotNetTwain1.LoadImage(filedlg.FileName);
        // Choose an image from your local disk and load it into Dynamic .NET TWAIN
    } 
}

private void dynamicDotNetTwain1_OnImageAreaSelected(short sImageIndex, int left, int top, int right, int bottom) 
{
    dynamicDotNetTwain1.OCRTessDataPath = "../../"; 
    dynamicDotNetTwain1.OCRLanguage = "eng";
    OcrResultFormat ocrResultFormat = Dynamsoft.DotNet.TWAIN.OCR.ResultFormat.Text;

    byte [] sbytes = dynamicDotNetTwain1.OCR(dynamicDotNetTwain1.CurrentImageIndexInBuffer, left, top, right, bottom);
    // OCR the selected area of the image

    if (sbytes != null) 
    { 
        SaveFileDialog filedlg = new SaveFileDialog(); 
        filedlg.Filter = "Text File(*.txt)| *.txt"; 
        if (filedlg.ShowDialog() == DialogResult.OK) 
        {
            FileStream fs = File.OpenWrite(filedlg.FileName); 
            fs.Write(sbytes, 0, sbytes.Length);
            // Save the OCR result as a text file
            fs.Close(); 
        }
        MessageBox.Show("OCR successful");
    } 
    else 
    {
        MessageBox.Show(dynamicDotNetTwain1.ErrorString); 
    }
}
private void button1_Click(object sender, EventArgs e) 
{
    OpenFileDialog filedlg = new OpenFileDialog(); 
    if (filedlg.ShowDialog() == DialogResult.OK) 
    { 
        dynamicDotNetTwain1.LoadImage(filedlg.FileName);
        // Choose an image from your local disk and load it into Dynamic .NET TWAIN
    } 
}

private void dynamicDotNetTwain1_OnImageAreaSelected(short sImageIndex, int left, int top, int right, int bottom) 
{
    dynamicDotNetTwain1.OCRTessDataPath = "../../"; 
    dynamicDotNetTwain1.OCRLanguage = "eng";
    OcrResultFormat ocrResultFormat = Dynamsoft.DotNet.TWAIN.OCR.ResultFormat.Text;

    byte [] sbytes = dynamicDotNetTwain1.OCR(dynamicDotNetTwain1.CurrentImageIndexInBuffer, left, top, right, bottom);
    // OCR the selected area of the image

    if (sbytes != null) 
    { 
        SaveFileDialog filedlg = new SaveFileDialog(); 
        filedlg.Filter = "Text File(*.txt)| *.txt"; 
        if (filedlg.ShowDialog() == DialogResult.OK) 
        {
            FileStream fs = File.OpenWrite(filedlg.FileName); 
            fs.Write(sbytes, 0, sbytes.Length);
            // Save the OCR result as a text file
            fs.Close(); 
        }
        MessageBox.Show("OCR successful");
    } 
    else 
    {
        MessageBox.Show(dynamicDotNetTwain1.ErrorString); 
    }
}
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim filedlg As New OpenFileDialog()
	If filedlg.ShowDialog() = DialogResult.OK Then
		dynamicDotNetTwain1.LoadImage(filedlg.FileName)
		' Choose an image from your local disk and load it into Dynamic .NET TWAIN
	End If
End Sub

Private Sub dynamicDotNetTwain1_OnImageAreaSelected(ByVal sImageIndex As Short, ByVal left As Integer, ByVal top As Integer, ByVal right As Integer, ByVal bottom As Integer)
	dynamicDotNetTwain1.OCRTessDataPath = "../../"
	dynamicDotNetTwain1.OCRLanguage = "eng"
	Dim ocrResultFormat As OcrResultFormat = Dynamsoft.DotNet.TWAIN.OCR.ResultFormat.Text

	Dim sbytes() As Byte = dynamicDotNetTwain1.OCR(dynamicDotNetTwain1.CurrentImageIndexInBuffer, left, top, right, bottom)
	' OCR the selected area of the image

	If sbytes IsNot Nothing Then
		Dim filedlg As New SaveFileDialog()
		filedlg.Filter = "Text File(*.txt)| *.txt"
		If filedlg.ShowDialog() = DialogResult.OK Then
			Dim fs As FileStream = File.OpenWrite(filedlg.FileName)
			fs.Write(sbytes, 0, sbytes.Length)
			' Save the OCR result as a text file
			fs.Close()
		End If
		MessageBox.Show("OCR successful")
	Else
		MessageBox.Show(dynamicDotNetTwain1.ErrorString)
	End If
End Sub
$vbLabelText   $csharpLabel

So sieht die Anwendung aus:

class="content-img-align-center">
class="center-image-wrapper"> Demo-App des Zonen-OCR mit Dynamic .NET TWAIN OCR SDK

Bildleistungsoptimierung

Die Qualität des Eingabebildes ist der entscheidende Faktor für die Geschwindigkeit einer OCR-Aufgabe. Je geringer das Hintergrundrauschen und je höher die dpi-Zahl, mit einem idealen Wert von ca. 200 dpi, desto schneller und genauer ist das OCR-Ergebnis.

Bildverarbeitungstechniken für Dynamsoft OCR

Wir müssen OCR in einer Vielzahl von Situationen verwenden, wie z.B. das Scannen einer Kreditkartennummer mit unserem Telefon oder das Extrahieren von Text aus Papierdokumenten. OCR-Funktionen sind in Dynamsoft Label Recognition (DLR) und Dynamic Web TWAIN (DWT) enthalten.

Obwohl sie im Allgemeinen eine gute Arbeit leisten können, können wir die Ergebnisse mit verschiedenen Bildverarbeitungstechniken verbessern.

Schatten aufhellen/entfernen

Schlechte Beleuchtung kann das OCR-Ergebnis beeinträchtigen. Um das Ergebnis zu verbessern, können wir Fotos aufhellen oder Schatten aus Bildern entfernen.

Invertieren

Da die OCR-Engine häufig auf Text in dunklen Farben trainiert wird, kann Text in hellen Farben schwerer zu erkennen und zu erkennen sein.

class="content-img-align-center">
class="center-image-wrapper"> Heller Text

Es wird leichter zu erkennen sein, wenn wir seine Farbe umkehren

class="content-img-align-center">
class="center-image-wrapper"> Heller Text invertiert

Um die Invertierung vorzunehmen, können wir den Parameter GrayscaleTransformationModes in DLR verwenden.

Hier sind die JSON-Einstellungen:

"GrayscaleTransformationModes": [
    {
        "Mode": "DLR_GTM_INVERTED"
    }
]

DLR .net’s Leseergebnis:

class="content-img-align-center">
class="center-image-wrapper"> Lichttextergebnis

Reskalieren

Wenn die Buchstabenhöhe zu gering ist, kann die OCR-Engine kein gutes Ergebnis liefern. Im Allgemeinen sollte das Bild eine DPI von mindestens 300 aufweisen.

Im DLR 1.1 gibt es einen ScaleUpModes-Parameter, der es Ihnen ermöglicht, Buchstaben zu vergrößern. Natürlich können wir das Bild auch selbst skalieren.

Das direkte Lesen des Bildes ergibt das falsche Ergebnis:

class="content-img-alig-center">
class="center-image-wrapper"> 1x Bild

Nach einer doppelten Skalierung des Bildes ist das Ergebnis korrekt:

class="content-img-align-center">
class="center-image-wrapper"> 2x Bild

Deskew

Es ist in Ordnung, wenn der Text leicht verzerrt ist. Wenn er jedoch zu stark verzerrt ist, wird das Ergebnis negativ verändert. Um das Ergebnis zu verbessern, müssen wir das Bild zuschneiden.

Um dies zu tun, können wir die Hough-Linien-Transformation in OpenCV und Python verwenden.

Hier ist der Code, um das obige Bild zu deskewen:

import cv2
import numpy as np
import math
from PIL import Image

def deskew():
    src = cv2.imread("neg.jpg", cv2.IMREAD_COLOR)
    gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
    kernel = np.ones((5,5), np.uint8)
    erode_img = cv2.erode(gray, kernel)
    eroDil = cv2.dilate(erode_img, kernel)
    show_and_wait_key("eroDil", eroDil)

    canny = cv2.Canny(eroDil, 50, 150)
    show_and_wait_key("canny", canny)

    lines = cv2.HoughLinesP(canny, 0.8, np.pi / 180, 90, minLineLength=100, maxLineGap=10)
    drawing = np.zeros(src.shape[:], dtype=np.uint8)

    maxY = 0
    degree_of_bottomline = 0
    index = 0
    for line in lines:
        x1, y1, x2, y2 = line[0]
        cv2.line(drawing, (x1, y1), (x2, y2), (0, 255, 0), 1, lineType=cv2.LINE_AA)
        k = float(y1-y2)/(x1-x2)
        degree = np.degrees(math.atan(k))
        if index == 0:
            maxY = y1
            degree_of_bottomline = degree
        else:        
            if y1 > maxY:
                maxY = y1
                degree_of_bottomline = degree
        index += 1
    show_and_wait_key("houghP", drawing)

    img = Bild.fromarray(src)
    rotate_img = img.rotate(degree_of_bottomline)
    rotate_img_cv = np.array(rotate_img)
    cv2.imshow("rotateImg", rotate_img_cv)
    cv2.imwrite("deskewed.jpg", rotate_img_cv)
    cv2.waitKey()

def show_and_wait_key(win_name, img):
    cv2.imshow(win_name, img)
    cv2.waitKey()

if __name__ == "__main__":
    deskew()
import cv2
import numpy as np
import math
from PIL import Image

def deskew():
    src = cv2.imread("neg.jpg", cv2.IMREAD_COLOR)
    gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
    kernel = np.ones((5,5), np.uint8)
    erode_img = cv2.erode(gray, kernel)
    eroDil = cv2.dilate(erode_img, kernel)
    show_and_wait_key("eroDil", eroDil)

    canny = cv2.Canny(eroDil, 50, 150)
    show_and_wait_key("canny", canny)

    lines = cv2.HoughLinesP(canny, 0.8, np.pi / 180, 90, minLineLength=100, maxLineGap=10)
    drawing = np.zeros(src.shape[:], dtype=np.uint8)

    maxY = 0
    degree_of_bottomline = 0
    index = 0
    for line in lines:
        x1, y1, x2, y2 = line[0]
        cv2.line(drawing, (x1, y1), (x2, y2), (0, 255, 0), 1, lineType=cv2.LINE_AA)
        k = float(y1-y2)/(x1-x2)
        degree = np.degrees(math.atan(k))
        if index == 0:
            maxY = y1
            degree_of_bottomline = degree
        else:        
            if y1 > maxY:
                maxY = y1
                degree_of_bottomline = degree
        index += 1
    show_and_wait_key("houghP", drawing)

    img = Bild.fromarray(src)
    rotate_img = img.rotate(degree_of_bottomline)
    rotate_img_cv = np.array(rotate_img)
    cv2.imshow("rotateImg", rotate_img_cv)
    cv2.imwrite("deskewed.jpg", rotate_img_cv)
    cv2.waitKey()

def show_and_wait_key(win_name, img):
    cv2.imshow(win_name, img)
    cv2.waitKey()

if __name__ == "__main__":
    deskew()
PYTHON

Erkannte Linien:

class="content-img-align-center">
class="center-image-wrapper"> Erkannte Linien

Deskewed:

class="content-img-align-center">
class="center-image-wrapper"> Deskewed Bild

Bildverarbeitungstechniken für IronOCR

Die Qualität des Eingabebildes ist hier nicht wichtig, denn IronOCR ist sehr gut darin, fehlerhafte Dokumente zu reparieren (obwohl dies zeitaufwändig ist und Ihre OCR-Jobs mehr CPU-Zyklen erfordern).

Durch die Auswahl von Eingabebildformaten mit weniger digitalem Rauschen, wie TIFF oder PNG, können auch schnellere Ergebnisse erzielt werden als mit verlustbehafteten Bildformaten wie JPEG.

Die unten aufgeführten Bildfilter können die Leistung erheblich verbessern:

  • OcrInput.Rotate(double degrees) — Dreht Bilder im Uhrzeigersinn um eine angegebene Anzahl von Grad. Für gegen den Uhrzeigersinn wird eine negative Zahl verwendet.
  • OcrInput.Binarize() — Dieser Bildfilter macht jedes Pixel entweder schwarz oder weiß, ohne Zwischenfarben. Er kann die OCR-Leistung in Fällen verbessern, in denen der Kontrast zwischen Text und Hintergrund sehr gering ist.
  • OcrInput.ToGrayScale() — Dieser Bildfilter konvertiert jedes Pixel in einen Grauschattierungsgrad. Es ist unwahrscheinlich, dass die OCR-Genauigkeit verbessert wird, es kann jedoch die Geschwindigkeit erhöhen.
  • OcrInput.Contrast() — Erhöht den Kontrast automatisch. In niedrigem Kontrast, kann dieser Filter die OCR-Geschwindigkeit und -Genauigkeit häufig verbessern.
  • OcrInput.DeNoise() — Dieser Filter sollte nur verwendet werden, wenn Rauschen erwartet wird.
  • OcrInput.Invert() — Kehrt alle Farben um. Zum Beispiel wird aus Weiß Schwarz: Schwarz wird Weiß.
  • OcrInput.Dilate() — Fortgeschrittene Morphologie. Dilatation ist der Prozess des Hinzufügens von Pixeln zu den Kanten von Objekten in einem Bild. (Umkehrung von Erode)
  • OcrInput.Erode() — Eine fortgeschrittene Morphologiefunktion. Erosion ist der Prozess des Entfernens von Pixeln von den Rändern von Objekten. (Umkehrung von Dilate)
  • OcrInput.Deskew() — Dreht ein Bild, sodass es orthogonal und richtig herum ist. Weil Tesseract's Toleranz für verzerrte Scans so niedrig wie 5 Grad sein kann, ist dies sehr nützlich für OCR.
  • DeepCleanBackgroundNoise() — Entfernt viel Hintergrundrauschen. Verwenden Sie diesen Filter nur dann, wenn Sie wissen, dass sich im Dokument viel Hintergrundrauschen befindet, da dies die OCR-Genauigkeit auf klaren Dokumenten verringern kann und sehr CPU-intensiv ist.
  • OcrInput.EnhanceResolution — Verbessert die Auflösung von niedrig aufgelösten Fotos. Wegen OcrInput wird dieser Filter selten verwendet. OcrInput wird die niedrige Auflösung automatisch erkennen und beheben.

Wir möchten IronTesseract verwenden, um OCR auf hochqualitativen Scans zu beschleunigen. Wenn wir nach Geschwindigkeit suchen, könnten wir hier beginnen und anschließend Funktionen wieder aktivieren, bis das richtige Gleichgewicht erreicht ist.

using IronOcr;

class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();

// Configuration for speed tuning
        ocr.Configuration.BlackListCharacters = "~`$#^*_}{][|\\";
        ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
        ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
        ocr.Configuration.EngineMode = TesseractEngineMode.LstmOnly;
        ocr.Language = OcrLanguage.EnglishFast;

        using (var input = new OcrInput(@"img\Potter.tiff"))
        {
            var result = ocr.Read(input);
            Console.WriteLine(result.Text);
        }
    }
}
using IronOcr;

class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();

// Configuration for speed tuning
        ocr.Configuration.BlackListCharacters = "~`$#^*_}{][|\\";
        ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
        ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
        ocr.Configuration.EngineMode = TesseractEngineMode.LstmOnly;
        ocr.Language = OcrLanguage.EnglishFast;

        using (var input = new OcrInput(@"img\Potter.tiff"))
        {
            var result = ocr.Read(input);
            Console.WriteLine(result.Text);
        }
    }
}
Imports IronOcr

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim ocr = New IronTesseract()

' Configuration for speed tuning
		ocr.Configuration.BlackListCharacters = "~`$#^*_}{][|\"
		ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto
		ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
		ocr.Configuration.EngineMode = TesseractEngineMode.LstmOnly
		ocr.Language = OcrLanguage.EnglishFast

		Using input = New OcrInput("img\Potter.tiff")
			Dim result = ocr.Read(input)
			Console.WriteLine(result.Text)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Dieses Ergebnis ist 99,8% genau im Vergleich zu den Baseline von 100% — aber 35% schneller.

Lizenzierung und Preise

Dynamsoft-Lizenzierung und Preise

Lizenz pro Jahr. Alle Preise beinhalten ein Jahr Wartung, das kostenlose Software-Upgrades und Premium-Support umfasst.

Dynamsoft bietet zwei Arten von Lizenzen an:

Pro Client-Gerätelizenz

Die "One Client Device License" bietet Zugang zu einer gleichnamigen Anwendung (gleiches Protokoll, gleicher Host und Port), um die Funktionen der Software von einem einzigen Client-Gerät aus zu nutzen. Ein inaktives Client-Gerät ist eines, das 90 Tage in Folge keine Software-Funktionalität genutzt hat. Der Lizenzsitz eines inaktiven Client-Geräts wird automatisch freigegeben und jeder andere aktive Client-Gerät kann ihn nutzen. Bei Erreichen der maximal zulässigen Anzahl an Lizenzsitzen gibt Ihnen Dynamsoft 10% zusätzliche Client-Geräte zulässigen Kapazität für den Notfall. Sobald das zusätzliche Client-Gerät zulässige Kapazität aufgebraucht ist, können keine neuen Client-Geräte die Software nutzen, bis verfügbarer Lizenzsitz vorhanden ist. Bitte beachten Sie, dass das Überschreiten Ihrer Client-Gerät zulässigen Kapazität keine Auswirkungen auf bereits lizenzierte Client-Geräte hat.

Pro-Server-Lizenz

Um die Anwendung auf einem einzigen Server zu implementieren, ist eine "One Server License" erforderlich. Server beziehen sich sowohl auf physische als auch virtuelle Server und umfassen, jedoch nicht beschränkt auf, Produktionsserver, Ausweichserver, Entwicklungsserver, die auch zum Testen verwendet werden, Qualitätssicherungsserver, Testserver und Staging-Server, die alle eine Lizenz benötigen. Lizenzen für kontinuierliche Integrationsserver (Build-Server) oder localhost-Entwicklungsserver sind nicht erforderlich. Die Pro-Server-Lizenz gilt nur für On-Premises-Serverinstallationen und nicht für Cloud-Bereitstellungen.

Die Preisgestaltung für Dynamsoft OCR beginnt bei 1.249 USD/Jahr.

IronOCR-Lizenzierung und Preise

Als Entwickler wollen wir alle unsere Projekte mit möglichst wenig Geld und Ressourcen realisieren — ein Budget ist entscheidend. Prüfen Sie das Diagramm, um festzustellen, welche Lizenz für Ihre Anforderungen und Ihr Budget am besten geeignet ist.

IronOCR bietet Lizenzen mit einer anpassbaren Anzahl von Entwicklern, Projekten und Standorten an, damit Sie die Anforderungen Ihres Projekts erfüllen und nur für die Abdeckung zahlen, die Sie benötigen.

IronOCR-Lizenzschlüssel ermöglichen es Ihnen, Ihr Produkt ohne Wasserzeichen zu veröffentlichen.

Lizenzen beginnen bei $799 und umfassen ein Jahr Support und Upgrades.

Sie können auch einen Testlizenzschlüssel verwenden, um IronOCR kostenlos auszuprobieren.

Abschluss

Tesseract OCR auf Mac, Windows, Linux, Azure OCR und Docker sind alle mit IronOCR für C# verfügbar. .NET Framework 4.0 oder höher wird benötigt, .NET Standard 2.0+, .NET Core 2.0+, .NET 5, Mono für macOS und Linux und Xamarin für macOS sind alle Beispiele für plattformübergreifende Entwicklung. IronOCR verwendet auch die neueste Tesseract 5-Engine, um Text, Barcodes und QR-Codes aus allen wichtigen Bild- und PDF-Formaten zu lesen. In wenigen Minuten fügt diese Bibliothek Ihren Desktop-, Konsolen- oder Webanwendungen OCR-Funktionalität hinzu! Das OCR kann auch PDFs lesen und mehrseitige TIFFs und kann als durchsuchbares PDF-Dokument oder XHTML in einem beliebigen OCR-Scan gespeichert werden. Klartext, Strichcodelaten, und eine OCR-Ergebnisklasse, die Absätze, Zeilen, Wörter und Zeichen umfasst, gehören zu den Datenansatzmöglichkeiten. Es ist in 125 Sprachen verfügbar, darunter Arabisch, Chinesisch, Englisch, Finnisch, Französisch, Deutsch, Hebräisch, Italienisch, Japanisch, Koreanisch, Portugiesisch, Russisch und Spanisch, aber beachten Sie, dass auch benutzerdefinierte Sprachpakete erstellt werden können.

Das Dynamic .NET TWAIN OCR-Add-on ist eine schnelle und zuverlässige .NET-Komponente für Optische Zeichenerkennung, die in WinForms- und WPF-Anwendungen verwendet werden kann, die in C# oder VB .NET geschrieben wurden. Sie können Dokumente scannen oder Fotos von Webcams aufnehmen, indem Sie das Bildaufnahme-Modul von Dynamic .NET TWAIN verwenden und dann OCR auf den Bildern durchführen, um den Text in den Bildern in Text, durchsuchbare PDF-Dateien oder Strings umzuwandeln. Mehrere asiatische Sprachen sowie Arabisch werden zusätzlich zu Englisch angeboten.

IronOCR bietet bessere Lizenzierung als Dynamsoft OCR; IronOcr beginnt bei $799 mit einem Jahr kostenlos, während Dynamsoft bei $1249 mit einem kostenlosen Versuch beginnt. IronOCR bietet auch Lizenzen für mehrere Benutzer an, während Sie bei Dynamsoft nur eine Lizenz pro Benutzer erhalten.

Während beide Softwaresätze darauf abzielen, die beste Leistung bei OCR-Lesevorgängen von Barcodes, Bild zu Text und Bild zu Text anzubieten, sticht IronOCR darin hervor, dass es auch bei Bildern in ziemlich schlechtem Zustand glänzt. Es setzt automatisch seine ausgeklügelten Tuning-Methoden ein, um Ihnen die besten OCR-Ergebnisse zu liefern. IronOCR nutzt auch Tesseract, um Ihnen optimale Ergebnisse mit wenigen oder keinen Fehlern zu bieten.

Iron Software bietet seinen Kunden und Benutzern auch die Möglichkeit, die gesamte Software-Suite in nur zwei Klicks zu erwerben. Das bedeutet, dass Sie für den Preis von zwei der Komponenten in der Iron Software-Suite derzeit alle fünf Komponenten und ununterbrochenen Support erhalten können.

Hinweis:Dynamsoft OCR ist ein eingetragenes Warenzeichen seines jeweiligen Eigentümers. Diese Seite ist nicht mit Dynamsoft OCR verbunden, es wird weder unterstützt noch gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.

Häufig gestellte Fragen

Wie kann ich Bilder von Text in digitale Formate mit C# konvertieren?

Sie können IronOCR in C# verwenden, um Bilder von Text in digitale Formate zu konvertieren. IronOCR bietet Methoden, um automatisch unscharfe und qualitativ minderwertige Scans zu schärfen und zu korrigieren, was es ideal macht, um verschiedene Bildformate in Text zu konvertieren.

Welche Vorteile bietet IronOCR für die Verarbeitung von qualitativ minderwertigen Scans?

IronOCR verbessert automatisch qualitativ minderwertige Scans, indem es Verzerrungen, Hintergrundgeräusche und Bildrauschen reduziert und gleichzeitig Auflösung und Kontrast verbessert, was eine höhere Genauigkeit bei der Texterkennung ermöglicht.

Welche OCR-Bibliothek ist besser für plattformübergreifende Anwendungen?

IronOCR eignet sich für plattformübergreifende Anwendungen, da es Umgebungen wie Xamarin und Azure unterstützt und Entwicklern, die mit verschiedenen Plattformen arbeiten, Flexibilität bietet.

Welche Bildformate unterstützt IronOCR?

IronOCR unterstützt eine breite Palette von Bildformaten, was es vielseitig für verschiedene OCR-Anwendungen macht. Es kann Bilder und PDF-Dokumente verarbeiten und bietet Flexibilität im Umgang mit verschiedenen Eingabequellen.

Kann OCR-Technologie bei der Dokumentenverwaltung in Unternehmen helfen?

Ja, OCR-Technologie kann die Dokumentenverwaltung erheblich unterstützen, indem physische Dokumente digitalisiert, durchsuchbar und bearbeitbar gemacht werden. Dies reduziert die manuelle Dateneingabe, minimiert Fehler und verbessert die Zugänglichkeit.

Wie verarbeitet Dynamsoft OCR die Bildaufnahme von Geräten?

Dynamsoft OCR unterstützt das Erfassen von Bildern von TWAIN-kompatiblen Geräten und Webcams, was das Batch-Scannen und die Änderung von Scanner-Attributen für eine effiziente Bildverarbeitung ermöglicht.

Welche Preisoptionen bietet IronOCR im Vergleich zu anderen Bibliotheken?

IronOCR bietet anpassbare Lizenzen, die auf die Anzahl der Entwickler, Projekte und Standorte zugeschnitten werden können und damit flexiblere und kostengünstigere Optionen im Vergleich zu einigen anderen Bibliotheken bieten.

Welche häufigen Probleme gibt es bei der Verwendung von OCR-Technologie?

Zu den häufigen Problemen mit OCR-Technologie gehören der Umgang mit niedrig aufgelösten Bildern, Verzerrungen und unterschiedlichen Schriftarten. Bibliotheken wie IronOCR verfügen jedoch über eingebaute Funktionen, um diese Probleme zu lösen und die OCR-Genauigkeit zu verbessern.

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