.NET MAUI OCR à l'aide d'IronOCR for .NET
Introduction
Microsoft a publié .NET MAUI(L'interface utilisateur des applications multiplateformes)qui est un cadre pour la création d'applications multiplateformes avec le Framework .NET. Il vous permet d'écrire du code qui fonctionne sur Android, iOS et Windows en utilisant la même base de code, ce qui vous permet d'économiser du temps, des ressources et des efforts. .NET MAUI est un logiciel libre. Vous pouvez obtenir le code source du projet .NET MAUI avec des exemples sur la page GitHub.
Dans ce guide pratique, nous allons apprendre à créer une application de traitement OCR sur .NET MAUI en utilisant la bibliothèque IronOCR avec des exemples.
Comment effectuer l'OCR dans .NET Maui
- Télécharger la bibliothèque C# pour effectuer l'OCR dans .NET Maui
- Configurer le frontend du projet Maui
- Transmettre le chemin complet de l'image à l'aide de l'option FilePicker classe
- Invoquer le
Lire
méthode de reconnaissance optique des caractères (OCR) sur l'image - Accédez au texte extrait en accédant à la page Texte et l'afficher
IronOCR : bibliothèque OCR .NET
IronOCR est une bibliothèque .NET OCR NuGet qui permet aux développeurs d'intégrer facilement la reconnaissance optique de caractères (OCR)(OCR) dans leurs projets. IronOCR permet de numériser des documents PDF et de les convertir en texte/données consultables et modifiables sans perte de qualité des données. Les utilisateurs peuvent ainsi trouver facilement les informations dont ils ont besoin dans les documents PDF et apporter des modifications ou des corrections si nécessaire.
IronOCR est la version la plus avancée des binaires Tesseract disponibles pour toutes les plateformes. Il offre une vitesse et une précision accrues, ainsi qu'une DLL/API native qui prend en charge toutes les versions de Tesseract(de Tesseract 3 à Tesseract 5) en une seule installation/téléchargement.
La prise en charge des langues par IronOCR est étendue, avec 125 langues internationales disponibles pour les utilisateurs. La langue anglaise est installée par défaut avec l'outil/DLL. Cependant, vous pouvez facilement ajouter d'autres langues en les installant via NuGet ou en téléchargeant des DLL.
Comparaison avec Tesseract
IronOCR est spécialement conçu pour les développeurs C# et s'intègre parfaitement aux applications .NET. En revanche, Tesseract est une bibliothèque OCR générique qui exige des développeurs qu'ils écrivent leurs propres wrappers pour l'utiliser avec C#. En outre, IronOCR offre une précision et une rapidité supérieures à celles des autres bibliothèques, grâce à ses algorithmes innovants d'intelligence artificielle.
IronOCR est accompagné d'une documentation complète et d'une assistance technique, ce qui permet aux développeurs novices d'être rapidement opérationnels.
IronOCR est beaucoup plus précis que Tesseract. En effet, son taux de précision est supérieur à 99 %, alors que celui de Tesseract n'est que de l'ordre de 70,2 % à 92,9 %. Obtenez plus d'informations et de soutien sur la comparaison IronOCR et Tesseract sur YouTube vidéo.
Étapes de la création d'une application MAUI OCR
Suivez les étapes suivantes pour créer une application OCR dans le Framework .NET MAUI à l'aide d'IronOCR.
Conditions préalables
Pour créer une application OCR dans .NET MAUI, il y a quelques conditions préalables.
Visual Studio 2022(Dernière version)
.NET 6 ou 7
Paquets MAUI installés dans Visual Studio
- Un projet MAUI .NET exécuté dans Visual Studio
Installer IronOCR
La première étape consiste à installer la bibliothèque IronOCR à l'aide de la console de gestion des paquets NuGet. Ouvrez la console NuGet Packages en faisant un clic droit sur l'explorateur de solutions et en écrivant la commande suivante pour installer la bibliothèque IronOCR.
Install-Package IronOcr
Conception frontale
Nous allons concevoir l'interface de l'application dans cette section. Ouvrez le fichier MainPage.xaml.
Nous désignons un bouton qui nous aidera à sélectionner l'image ou le document PDF pour l'OCR. La propriété clicked
du bouton est définie pour exécuter la fonction IOCR
. Nous définirons cette fonction dans la section suivante.
<Button
x:Name="OCR"
Text="Click to OCR"
Clicked="IOCR"
HorizontalOptions="Center" />
Ici, nous créons une boîte Image
avec le nom OCRImage
. Cette boîte à images permet d'afficher le fichier sélectionné.
<Image
x:Name="OCRImage"
SemanticProperties.Description="Selected Image"
HeightRequest="300"
HorizontalOptions="Center" />
Ensuite, nous créons un contrôle Editor
. Il sera utilisé pour afficher le texte extrait de l'image ou du document PDF.
<Editor
x:Name="outputText"
HorizontalOptions="Center"
WidthRequest="600"
HeightRequest="300"
/>
Voici l'interface utilisateur XAML terminée.
<?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>
Il est maintenant temps d'écrire le code pour la fonctionnalité OCR.
Code pour l'OCR avec IronOCR
Ouvrez le fichier de classe "MainPage.xaml.cs" et écrivez-y la fonction suivante.
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
Décomposons le code ci-dessus.
Le code suivant permet de sélectionner l'image à l'aide de l'objet FilePicker
de C#. Le titre FilePicker
et le type de fichier FilePicker
sont tous deux définis comme des valeurs, ainsi que le chemin d'accès à l'image.
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()
Le contrôle de boîte Image
est ensuite configuré pour utiliser l'image spécifiée dans la variable path
ci-dessus.
OCRImage.Source = path;
OCRImage.Source = path;
OCRImage.Source = path
Ensuite, nous commençons à utiliser IronOCR en créant une nouvelle instance de la classe IronTesseract
. Nous l'utilisons pour extraire le texte de l'image sélectionnée et ensuite pour afficher le contenu dans le contrôle de l'éditeur.
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
Sortie
Après avoir lancé le projet, l'interface utilisateur ci-dessous s'affiche. Lorsque vous cliquez sur le bouton, vous êtes invité à sélectionner l'image/PDF à partir de n'importe quel emplacement.
Après avoir sélectionné l'image, IronOCR la traite et affiche les mots reconnus dans le contrôle de l'éditeur. Vous pouvez copier le texte à partir du contrôle de l'éditeur.
Les résultats montrent qu'IronOCR fait un excellent travail dans le traitement d'images complexes avec des motifs, en montrant des résultats précis. IronOCR est capable de détecter le point rouge sur la lettre et de sélectionner la lettre exacte requise à l'aide de ses modèles pré-entraînés.
Conclusion
Pour en savoir plus, consultez le site suivanttutoriel qui donne des informations supplémentaires sur la façon d'utiliser IronOCR pourlire du texte à partir d'images.
IronOCR est gratuit à des fins de développement. Vous pouvez l'acheter pour un prix très bas à partir de $749. Consulter le plan tarifaireici.