.NET MAUI OCR mit IronOCR
Einführung
Microsoft veröffentlicht .NET MAUI(Multiplattform-App UI)das ein Framework für die Erstellung plattformübergreifender Anwendungen mit dem .NET-Framework ist. Sie können damit Code schreiben, der auf Android, iOS und Windows läuft, und dabei dieselbe Codebasis verwenden, wodurch Sie Zeit, Ressourcen und Aufwand sparen. .NET MAUI ist quelloffen. Sie können den Quellcode des .NET MAUI-Projekts mit Beispielen auf der Website GitHub.
In diesem Leitfaden erfahren Sie, wie Sie mit der IronOCR-Bibliothek eine OCR-Prozessoranwendung auf .NET MAUI erstellen.
Wie man OCR in .NET Maui durchführt
- Laden Sie die C#-Bibliothek zur Durchführung von OCR in .NET Maui herunter
- Konfigurieren Sie das Frontend des Maui-Projekts
- Übergeben Sie den vollständigen Pfad des Bildes mit der Option FilePicker klasse
- Rufen Sie die
Lesen Sie
methode zur Durchführung von OCR auf dem Bild - Zugriff auf den extrahierten Text durch Zugriff auf die Text eigenschaft und zeigt sie an
IronOCR: .NET OCR-Bibliothek
IronOCR ist eine .NET OCR NuGet-Bibliothek, die es Entwicklern ermöglicht, Optical Character Recognition (OCR) einfach zu integrieren(OCR) funktionalität in ihre Projekte zu integrieren. Mit IronOCR können PDF-Dokumente gescannt und in durchsuchbare und bearbeitbare Texte/Daten umgewandelt werden, ohne dass die Datenqualität darunter leidet. Dies erleichtert es den Benutzern, die benötigten Informationen in PDF-Dokumenten zu finden und bei Bedarf Änderungen oder Korrekturen vorzunehmen.
IronOCR ist die fortschrittlichste Version der Tesseract-Binärdateien, die für jede Plattform verfügbar ist. Es bietet höhere Geschwindigkeit und Genauigkeit sowie eine native DLL/API, die alle Versionen von Tesseract unterstützt(von Tesserakt 3 bis Tesserakt 5) mit einer einfachen Installation/einem einfachen Download.
IronOCRs Sprachunterstützung ist umfangreich: 125 internationale Sprachen stehen den Benutzern zur Verfügung. Die englische Sprache wird standardmäßig mit dem Tool/DLL installiert. Sie können jedoch problemlos weitere Sprachen hinzufügen, indem Sie sie über NuGet installieren oder DLLs herunterladen.
Vergleich mit Tesseract
IronOCR ist speziell für C#-Entwickler konzipiert und lässt sich nahtlos in .NET-Anwendungen integrieren. Im Gegensatz dazu ist Tesseract eine generische OCR-Bibliothek, für die Entwickler ihre eigenen Wrapper schreiben müssen, um sie mit C# verwenden zu können. Darüber hinaus bietet IronOCR dank seiner innovativen Algorithmen mit künstlicher Intelligenz im Vergleich zu anderen Bibliotheken eine überragende Genauigkeit und Geschwindigkeit.
IronOCR wird mit einer umfassenden Dokumentation und technischem Support geliefert, so dass auch unerfahrene Entwickler schnell mit der Anwendung arbeiten können.
IronOCR ist viel genauer als Tesseract. Tatsächlich hat es eine Trefferquote von über 99 %, während die Trefferquote von Tesseract nur zwischen 70,2 % und 92,9 % liegt. Weitere Informationen und Unterstützung zu IronOCR und dem Tesseract-Vergleich finden Sie unter YouTube video.
Schritte zur Erstellung einer OCR-MAUI-Anwendung
Folgen Sie den nächsten Schritten, um eine OCR-Anwendung im .NET MAUI-Framework mit IronOCR zu erstellen.
Voraussetzungen
Um eine OCR-Anwendung in .NET MAUI zu erstellen, sind einige Voraussetzungen erforderlich.
Visual Studio 2022(Letzte Version)
.NET 6 oder 7
In Visual Studio installierte MAUI-Pakete
- Ein .NET MAUI-Projekt, das in Visual Studio ausgeführt wird
IronOCR installieren
Der erste Schritt ist die Installation der IronOCR-Bibliothek über die NuGet Packages Manager Console. Öffnen Sie die NuGet Packages Console, indem Sie mit der rechten Maustaste auf den Projektmappen-Explorer klicken und den folgenden Befehl eingeben, um die IronOCR-Bibliothek zu installieren.
Install-Package IronOcr
Frontend-Design
In diesem Abschnitt werden wir das Frontend der Anwendung entwerfen. Öffnen Sie die Datei MainPage.xaml.
Wir benennen eine Schaltfläche, die uns hilft, das Bild oder PDF-Dokument für die OCR auszuwählen. Die Eigenschaft "angeklickt" der Schaltfläche wird so eingestellt, dass die Funktion "IOCR" ausgeführt wird. Wir werden diese Funktion im nächsten Abschnitt definieren.
<Button
x:Name="OCR"
Text="Click to OCR"
Clicked="IOCR"
HorizontalOptions="Center" />
Hier erstellen wir ein Feld "Bild" mit dem Namen "OCRImage". Dieses Bildfeld dient zur Anzeige der ausgewählten Datei.
<Image
x:Name="OCRImage"
SemanticProperties.Description="Selected Image"
HeightRequest="300"
HorizontalOptions="Center" />
Als nächstes erstellen wir ein "Editor"-Steuerelement. Es wird verwendet, um den extrahierten Text aus dem Bild oder PDF-Dokument anzuzeigen.
<Editor
x:Name="outputText"
HorizontalOptions="Center"
WidthRequest="600"
HeightRequest="300"
/>
Hier ist das fertige XAML User Interface Markup.
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IronOCR_MAUI_Test.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Button
x:Name="OCR"
Text="Click to OCR"
Clicked="IOCR"
HorizontalOptions="Center" />
<Image
x:Name="OCRImage"
SemanticProperties.Description="Selected Image"
HeightRequest="300"
HorizontalOptions="Center" />
<Editor
x:Name="outputText"
HorizontalOptions="Center"
WidthRequest="600"
HeightRequest="300"
/>
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Nun ist es an der Zeit, den Code für die OCR-Funktionalität zu schreiben.
Code für OCR mit IronOCR
Öffnen Sie die Klassendatei "MainPage.xaml.cs" und schreiben Sie die folgende Funktion hinein.
private async void IOCR(object sender, EventArgs e)
{
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
OCRImage.Source = path;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
}
private async void IOCR(object sender, EventArgs e)
{
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
OCRImage.Source = path;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
}
Private Async Sub IOCR(ByVal sender As Object, ByVal e As EventArgs)
Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
.PickerTitle = "Pick image",
.FileTypes = FilePickerFileType.Images
})
Dim path = images.FullPath.ToString()
OCRImage.Source = path
Dim ocr = New IronTesseract()
Using input = New OcrInput()
input.AddImage(path)
Dim result As OcrResult = ocr.Read(input)
Dim text As String = result.Text
outputText.Text = text
End Using
End Sub
Schlüsseln wir den obigen Code auf.
Der folgende Code hilft bei der Auswahl des Bildes mit dem C#-Objekt FilePicker
. Der "FilePicker"-Titel und der "FilePicker"-Dateityp werden beide auf Werte gesetzt, zusammen mit dem Pfad des Bildes.
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
.PickerTitle = "Pick image",
.FileTypes = FilePickerFileType.Images
})
Dim path = images.FullPath.ToString()
Als Nächstes wird das Steuerelement "Bild" so konfiguriert, dass es das oben in der Variable "Pfad" angegebene Bild verwendet.
OCRImage.Source = path;
OCRImage.Source = path;
OCRImage.Source = path
Danach beginnen wir mit der Nutzung von IronOCR, indem wir eine neue Instanz der Klasse IronTesseract
erstellen. Wir verwenden es, um Text aus dem ausgewählten Bild zu extrahieren und anschließend den Inhalt im Editor-Steuerelement anzuzeigen.
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
Dim ocr = New IronTesseract()
Using input = New OcrInput()
input.AddImage(path)
Dim result As OcrResult = ocr.Read(input)
Dim text As String = result.Text
outputText.Text = text
End Using
Ausgabe
Nach dem Ausführen des Projekts wird die folgende Benutzeroberfläche angezeigt. Wenn Sie auf die Schaltfläche klicken, werden Sie aufgefordert, das Bild/PDF von einem beliebigen Ort auszuwählen.
Nach der Auswahl des Bildes verarbeitet IronOCR das Bild und zeigt die erkannten Wörter in der Editorsteuerung an. Sie können den Text aus dem Editor-Control kopieren.
Die Ergebnisse zeigen, dass IronOCR bei der Verarbeitung komplexer Bilder mit Mustern hervorragende Arbeit leistet und genaue Ergebnisse liefert. IronOCR ist in der Lage, den roten Punkt auf dem Buchstaben zu erkennen und mit Hilfe seiner vorher trainierten Modelle genau den gewünschten Buchstaben auszuwählen.
Bitte beachten Sie
Schlussfolgerung
Weitere Informationen finden Sie in diesem Dokumentlehrgang die zusätzliche Informationen über die Verwendung von IronOCR enthält, umtext aus Bildern lesen.
IronOCR ist für Entwicklungszwecke kostenlos. Sie können es für den sehr niedrigen Preis ab nur $749 erwerben. Sehen Sie sich den Preisplan anhier.