Passer au contenu du pied de page
UTILISATION D'IRONOCR

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

Recettes et automatisation

Les reçus sont essentiels dans le monde rapide d'aujourd'hui. Que vous fassiez vos courses ou que vous alliez au restaurant, un reçu vous permet de suivre le montant dépensé et peut vous aider à établir votre budget. Par ailleurs, les épiceries peuvent utiliser des scanners de tickets de caisse pour analyser les données relatives aux ventes, ce qui les aide à prévoir la demande.

Cependant, les reçus peuvent être difficiles à lire et le mode de calcul des totaux n'est pas toujours clair. La saisie manuelle de données à partir de reçus à des fins de budgétisation est fastidieuse et sujette à des erreurs, en particulier lorsque de nombreux articles sont concernés. La perte d'un ticket de caisse peut soudainement rendre incertaine la raison pour laquelle vous avez dépassé votre budget mensuel.

Pour résoudre ce problème, les applications budgétaires 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 les erreurs humaines, automatise la saisie des données, assure le suivi des dépenses et fournit des informations sur le comportement d'achat.

La technologie OCR utilise 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, en particulier lorsqu'ils traitent des images affectées par le bruit, comme le flou ou les taches, ce qui peut entraîner une extraction incorrecte des données. Il est donc essentiel de sélectionner une bibliothèque OCR fiable, capable de traiter et d'optimiser efficacement les méthodes de lecture.

Pourquoi IronOCR?

IronOCR is a C# library based on a customized version of the moteur OCR Tesseract. Voici quelques-unes de ses principales caractéristiques :

  1. Compatibilité croisée: Entièrement compatible avec les plateformes .NET, notamment .NET 8, 7, 6, 5 et Framework 4.6.2 et plus. Elle prend en charge Windows, macOS, Azure et Linux.
  2. Flexibilité et évolutivité: Traite différents formats d'entrée tels que jpg, png et gif. Elle s'intègre sans problème aux objets natifs "System.Drawing" en C#.
  3. Facilité d'utilisation et assistance: Bien documenté, avec une API robuste et une assistance disponible 24 heures sur 24 et 5 jours sur 7.
  4. Capacités multilingues: Prend en charge jusqu'à 125 langues, ce qui est idéal pour les documents internationaux. Elle excelle dans la reconnaissance des noms de produits et des prix, essentielle pour le traitement des reçus.

Mise en œuvre de l'OCR des reçus

Clé de licence

Avant d'utiliser IronOCR, il convient d'obtenir une clé de licence. Un essai gratuit 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 ticket de caisse de supermarché

Explorons comment IronOcr peut être utilisé dans une application pour scanner les reçus de supermarché avec un smartphone, en extrayant des données telles que les noms des produits et les prix pour récompenser les points en fonction du total des achats.

Image d'entrée

Exemple de reçu de supermarché

Mise en œuvre du 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 du texte.
  5. Affichez les résultats sur la console.

Débogage et tests de confiance

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

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 la précision. Le niveau de confiance est compris entre 0 (faible confiance) et 1 (forte confiance). Ajustez vos stratégies de traitement des données en fonction de ces niveaux de confiance en matière de fiabilité.

Suppression du bruit et filtrage

Avant de traiter les images, utilisez ces méthodes pour les nettoyer et les préparer afin d'obtenir de meilleurs résultats d'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 permettent d'accroître la précision de l'extraction des données.

Conclusion

IronOCR

La technologie OCR des reçus est un atout pour les entreprises et les particuliers, car elle facilite l'établissement des budgets, prévient la fraude en vérifiant les détails des transactions et automatise la collecte des données. IronOCR se distingue par sa précision, sa rapidité et sa facilité d'intégration aux plateformes existantes, ce qui en fait un excellent choix pour les développeurs visant à mettre en œuvre des solutions de numérisation de reçus.

Essayez la licence d'essai d'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