Passer au contenu du pied de page
UTILISATION D'IRONOCR

Tickets de supermarché OCR en C# (Tutoriel pour développeurs)

Reçus et automatisation

Les reçus sont essentiels dans le monde rapide d'aujourd'hui. Que vous fassiez vos courses ou que vous dîniez dans un restaurant, un reçu aide à suivre les dépenses et peut aider à budgéter. Par ailleurs, les supermarchés peuvent utiliser des scanners de reçus pour analyser les données de vente, les aidant à prévoir la demande.

Cependant, les reçus peuvent être difficiles à lire et il peut être difficile de comprendre comment les totaux sont calculés. La saisie manuelle des données à partir des reçus à des fins de budgétisation est fastidieuse et sujette aux erreurs, surtout lorsqu'il y a de nombreux articles. Perdre un reçu peut soudainement rendre flou pourquoi vous avez dépassé votre budget mensuel.

Pour résoudre ce problème, les applications de budgétisation et financières ont adopté la technologie OCR (reconnaissance optique de caractères). En scannant les reçus et en les convertissant au format numérique, l'OCR minimise l'erreur humaine, automatise la saisie des données, suit les dépenses et fournit des informations sur le comportement d'achat.

La technologie OCR fonctionne en utilisant des algorithmes d'apprentissage automatique pour identifier et extraire le texte et les chiffres des images. Cependant, les systèmes OCR ne sont pas parfaits, surtout lorsqu'il s'agit d'images affectées par le bruit, telles que le flou ou les taches, ce qui peut entraîner une extraction incorrecte des données. Ainsi, choisir une bibliothèque OCR fiable qui peut traiter efficacement et optimiser les méthodes de lecture est crucial.

Pourquoi IronOCR ?

IronOCR est une bibliothèque C# basée sur une version personnalisée du moteur OCR Tesseract. Voici quelques-unes de ses caractéristiques clés :

  1. Compatibilité croisée : Entièrement compatible avec les plateformes .NET, y compris .NET 8, 7, 6, 5, et Framework 4.6.2 et plus. Il prend en charge Windows, macOS, Azure et Linux.
  2. Flexibilité et évolutivité : Prend en charge divers formats d'entrée comme jpg, png et gif. Il s'intègre parfaitement avec les objets "System.Drawing" natifs en C#.
  3. Facilité d'utilisation et assistance : Bien documenté, avec une API robuste et une assistance 24/5 disponible.
  4. Capacités multilingues : Prend en charge jusqu'à 125 langues, idéal pour les documents internationaux. Il excelle à reconnaître les noms de produits et les prix, essentiel pour le traitement des reçus.

Mise en œuvre de l'OCR pour les reçus

Clé de licence

Avant d'utiliser IronOCR, obtenez une clé de licence. Une version d'essai gratuite est disponible ici.

// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
$vbLabelText   $csharpLabel

Exemple : Lecture d'un reçu de supermarché

Explorons comment IronOCR peut être utilisé dans une application pour scanner des reçus de supermarché avec un smartphone, extraire des données telles que les noms de produits et les prix pour récompenser des points basés sur le total des achats.

Image d'entrée

Exemple de reçu de supermarché

Implémentation en code C

using IronOcr;

class ReceiptScanner
{
    static void Main()
    {
        // Set the license key for IronOCR
        IronOcr.License.LicenseKey = "YOUR-KEY";

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

        using var inputPhoto = new OcrInput();
        inputPhoto.LoadImage("supermarketexample.jpg");

        // Perform OCR on the loaded image
        OcrResult result = ocr.Read(inputPhoto);

        // Output the text extracted from the receipt
        string text = result.Text;
        Console.WriteLine(text);
    }
}
using IronOcr;

class ReceiptScanner
{
    static void Main()
    {
        // Set the license key for IronOCR
        IronOcr.License.LicenseKey = "YOUR-KEY";

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

        using var inputPhoto = new OcrInput();
        inputPhoto.LoadImage("supermarketexample.jpg");

        // Perform OCR on the loaded image
        OcrResult result = ocr.Read(inputPhoto);

        // Output the text extracted from the receipt
        string text = result.Text;
        Console.WriteLine(text);
    }
}
Imports IronOcr

Friend Class ReceiptScanner
	Shared Sub Main()
		' Set the license key for IronOCR
		IronOcr.License.LicenseKey = "YOUR-KEY"

		' Instantiate OCR engine
		Dim ocr = New IronTesseract()

		Dim inputPhoto = New OcrInput()
		inputPhoto.LoadImage("supermarketexample.jpg")

		' Perform OCR on the loaded image
		Dim result As OcrResult = ocr.Read(inputPhoto)

		' Output the text extracted from the receipt
		Dim text As String = result.Text
		Console.WriteLine(text)
	End Sub
End Class
$vbLabelText   $csharpLabel
  1. Importez la bibliothèque IronOcr.
  2. Instanciez le moteur OCR (IronTesseract).
  3. Créez un nouveau OcrInput pour charger l'image du reçu.
  4. Utilisez la méthode Read de IronTesseract pour extraire le texte.
  5. Sortez les résultats sur la console.

Débogage et test de confiance

Pour assurer la cohérence, vérifiez le niveau de confiance des données extraites, qui détermine leur précision.

OcrResult result = ocr.Read(inputPhoto);
string text = result.Text;
Console.WriteLine(text);
Console.WriteLine($"Confidence: {result.Confidence}");
OcrResult result = ocr.Read(inputPhoto);
string text = result.Text;
Console.WriteLine(text);
Console.WriteLine($"Confidence: {result.Confidence}");
Dim result As OcrResult = ocr.Read(inputPhoto)
Dim text As String = result.Text
Console.WriteLine(text)
Console.WriteLine($"Confidence: {result.Confidence}")
$vbLabelText   $csharpLabel

La propriété Confidence fournit une mesure statistique de précision. Elle varie de 0 (faible confiance) à 1 (haute confiance). Ajustez vos stratégies de gestion des données en fonction de ces niveaux de confiance pour plus de fiabilité.

Suppression du bruit et filtrage

Avant de traiter les images, utilisez ces méthodes pour nettoyer et préparer les images pour de meilleurs résultats OCR :

inputPhoto.DeNoise();      // Removes noise from the image
inputPhoto.ToGrayScale();  // Converts image to grayscale
inputPhoto.DeNoise();      // Removes noise from the image
inputPhoto.ToGrayScale();  // Converts image to grayscale
inputPhoto.DeNoise() ' Removes noise from the image
inputPhoto.ToGrayScale() ' Converts image to grayscale
$vbLabelText   $csharpLabel

Ces étapes de prétraitement aident à augmenter la précision de l'extraction des données.

Conclusion

IronOCR

La technologie d'OCR pour les reçus est un atout pour les entreprises et les particuliers, aidant à budgétiser, à prévenir la fraude en vérifiant les détails des transactions et à automatiser la collecte de données. IronOCR se distingue par sa précision, sa rapidité et sa facilité d'intégration avec les plateformes existantes, en faisant un excellent choix pour les développeurs souhaitant mettre en œuvre des solutions de numérisation de reçus.

Essayez la version d'essai de IronOCR pour explorer ses capacités.

Questions Fréquemment Posées

Comment la technologie OCR peut-elle être utilisée pour automatiser le traitement des reçus de supermarché ?

La technologie OCR peut automatiser le traitement des reçus de supermarché en convertissant les reçus numérisés en données numériques. Avec IronOCR, les reçus peuvent être lus et le texte peut être extrait automatiquement, réduisant le besoin de saisie manuelle de données et minimisant les erreurs humaines.

Quels avantages offre IronOCR pour le traitement des reçus de supermarché ?

IronOCR offre plusieurs avantages pour le traitement des reçus de supermarché, y compris la compatibilité multiplateforme, la prise en charge de plusieurs formats d'image, une API robuste pour une intégration facile, et la capacité de traiter jusqu'à 125 langues, ce qui le rend idéal pour les reçus internationaux.

Comment intégrer IronOCR dans une application C# pour lire les reçus de supermarché ?

Pour intégrer IronOCR dans une application C#, vous devez obtenir une clé de licence, importer la bibliothèque IronOcr, et utiliser le moteur IronTesseract pour lire et extraire du texte à partir d'images de reçus de supermarché.

Quelles techniques de prétraitement améliorent la précision de l'OCR dans la numérisation des reçus ?

IronOCR fournit des techniques de prétraitement telles que DeNoise et ToGrayScale pour améliorer la précision de l'OCR. Ces techniques aident à éliminer le bruit d'image et à convertir les images en niveaux de gris, améliorant l'extraction du texte à partir des reçus.

Pourquoi le test de confiance est-il important en OCR, et comment est-il appliqué ?

Le test de confiance dans IronOCR est important car il mesure la précision des données extraites, avec des valeurs allant de 0 (basse) à 1 (haute). Il aide les utilisateurs à évaluer la fiabilité des résultats OCR et à informer les décisions de traitement des données.

IronOCR peut-il gérer les reçus de supermarché multilingues ?

Oui, IronOCR prend en charge le traitement OCR dans jusqu'à 125 langues, ce qui le rend capable de gérer efficacement les reçus de supermarché multilingues.

Une version d'essai est-elle disponible pour les développeurs intéressés par IronOCR ?

Oui, une version d'essai gratuite de IronOCR est disponible pour les développeurs, leur permettant d'explorer ses fonctionnalités et capacités avant de s'engager à un achat.

Quelles plateformes sont supportées par IronOCR pour la numérisation des reçus ?

IronOCR est compatible avec les plateformes .NET, y compris .NET 8, 7, 6, 5, et Framework 4.6.2 et au-delà, et il supporte l'opération sur les environnements Windows, macOS, Azure, et Linux.

Qu'est-ce qui rend IronOCR adapté pour intégrer la numérisation des reçus dans les applications ?

IronOCR est adapté pour intégrer la numérisation des reçus dans les applications grâce à sa grande précision, sa facilité d'utilisation, son support multiplateforme, et sa capacité à gérer divers formats d'entrée et langues de manière transparente.

Kannaopat Udonpant
Ingénieur logiciel
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Pendant qu'il poursuivait son diplôme, Kannapat est également devenu membre du laboratoire de robotique de véhicules, qui fait partie du département de bioproduction. En 2022, il a utilisé ses compé...
Lire la suite