Passer au contenu du pied de page
UTILISATION DE IRONBARCODE

Comment lire un code-barres depuis la caméra en VB.NET

Dans le paysage technologique en rapide évolution, les appareils de scanner de codes-barres sont devenus une partie intégrante de diverses industries, allant du commerce de détail et de la logistique aux soins de santé et à la fabrication. Visual Basic .NET de Microsoft, un langage de programmation polyvalent et puissant, offre aux développeurs un cadre robuste pour créer des applications capables de lire des codes-barres directement à partir d'un flux de caméra. This article aims to provide a comprehensive barcode reader tutorial using a camera in Visual Basic using the IronBarcode library from Iron Software.

La bibliothèque IronBarcode vous permet de lire des fichiers d'images de codes-barres et également lorsqu'ils sont diffusés à partir de caméras. Elle prend également en charge la lecture des codes-barres à partir d'un document PDF. Elle est capable de scanner un maximum d'un code-barres à la fois. Le type de code-barres doit être spécifié au moment de la lecture de l'image du code-barres dans le SDK de lecture de code-barres VB.NET.

Comment lire un code-barres à partir d'une caméra en VB .NET

  1. Créez un nouveau projet VB.NET dans Visual Studio
  2. Installez la bibliothèque IronBarcode et appliquez-la à votre projet
  3. Obtenez le code-barres de la caméra en tant qu'image en utilisant la bibliothèque AForge
  4. Décodez l'image du code-barres en utilisant IronBarcode

Prérequis

  1. Visual Studio : Assurez-vous que Visual Studio ou tout autre environnement de développement VB.NET est installé.
  2. Caméra compatible : Assurez-vous que ladite caméra est connectée à votre appareil.
  3. NuGet Package Manager : Assurez-vous que vous pouvez utiliser NuGet pour gérer les packages dans votre projet.

Étape 1 : Créer un nouveau projet Visual Basic .NET dans Visual Studio

Créez une nouvelle application Windows Forms VB.NET (ou utilisez un projet existant) là où vous souhaitez héberger le code pour lire le code-barres depuis votre caméra.

Comment lire un code-barres à partir d'une caméra en VB .NET : Figure 1 - Créez une nouvelle application de formulaire Windows VB.NET

À l'étape suivante, vous pouvez fournir les noms de solution et de projet.

Comment lire un code-barres à partir d'une caméra en VB .NET : Figure 2 - Configuration du projet avec le nom et la solution

Sélectionnez la version de .NET et cliquez sur le bouton "Créer".

Étape 2 : Installer la bibliothèque IronBarcode

Ouvrez votre projet VB.NET et installez la bibliothèque IronBarcode en utilisant la Console du gestionnaire de packages NuGet :

Install-Package BarCode

Comment lire un code-barres à partir d'une caméra en VB .NET : Figure 3 - Installation du package NuGet IronBarcode

Le package NuGet peut également être installé en utilisant le Gestionnaire de packages NuGet de Visual Studio, comme indiqué ci-dessous.

Comment lire un code-barres à partir d'une caméra en VB .NET : Figure 4 - Installation de IronBarcode via le Gestionnaire de packages de Visual Studio

Étape 3 : Lecture du code-barres depuis la caméra

Pour scanner le flux et capturer l'image de la caméra, nous avons besoin de la bibliothèque AForge. Installez-la comme ci-dessous depuis le gestionnaire de packages NuGet.

Comment lire un code-barres à partir d'une caméra en VB .NET : Figure 5 - Paquet de la bibliothèque AForge trouvé dans le Gestionnaire de packages Visual Studio

L'étape suivante consiste à ajouter le contrôle PictureBox depuis la Boîte à outils vers les formulaires. Ceci est utilisé pour capturer l'image de la caméra.

Comment lire un code-barres à partir d'une caméra en VB .NET : Figure 6 - Ajout du contrôle PictureBox

Ensuite, copiez le code ci-dessous dans l'application de formulaires et créez le composant de lecteur de codes-barres VB .NET à partir de IronBarcode.

Imports IronBarCode
Imports AForge.Video
Imports AForge.Video.DirectShow

Public Class Form1
    Private videoDevices As FilterInfoCollection
    Private videoSource As VideoCaptureDevice

    ' Event handler for form load
    Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        videoDevices = New FilterInfoCollection(FilterCategory.VideoInputDevice)
        If videoDevices.Count > 0 Then
            videoSource = New VideoCaptureDevice(videoDevices(0).MonikerString)
            AddHandler videoSource.NewFrame, AddressOf VideoSource_NewFrame
            videoSource.Start()
        Else
            MessageBox.Show("No video devices found.")
            Close()
        End If
    End Sub

    ' Event handler for capturing and processing new frame from the video source
    Private Sub VideoSource_NewFrame(sender As Object, eventArgs As NewFrameEventArgs)
        pictureBoxCamera.Image = DirectCast(eventArgs.Frame.Clone(), Bitmap)

        ' Process each frame for barcode recognition
        Dim image = DirectCast(pictureBoxCamera.Image, Bitmap)
        Dim result = BarcodeReader.QuicklyReadOneBarcode(image, BarcodeEncoding.QRCode Or BarcodeEncoding.Code128)

        If result IsNot Nothing Then
            ' Barcode found, handle the new result (e.g., display the barcode value)
            Dim barcodeValue As String = result.Text
            ShowBarcodeResult(barcodeValue)
        End If
    End Sub

    ' Method to display the barcode result
    Private Sub ShowBarcodeResult(barcodeValue As String)
        ' Invoke on UI thread to update UI controls
        If InvokeRequired Then
            Invoke(New Action(Of String)(AddressOf ShowBarcodeResult), barcodeValue)
        Else
            ' Display the barcode value in a MessageBox or any other UI element
            MessageBox.Show("Barcode Value: " & barcodeValue, "Barcode Detected")
        End If
    End Sub

    ' Event handler for form closing
    Private Sub MainForm_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
        If videoSource IsNot Nothing AndAlso videoSource.IsRunning Then
            videoSource.SignalToStop()
            videoSource.WaitForStop()
        End If
    End Sub
End Class
Imports IronBarCode
Imports AForge.Video
Imports AForge.Video.DirectShow

Public Class Form1
    Private videoDevices As FilterInfoCollection
    Private videoSource As VideoCaptureDevice

    ' Event handler for form load
    Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        videoDevices = New FilterInfoCollection(FilterCategory.VideoInputDevice)
        If videoDevices.Count > 0 Then
            videoSource = New VideoCaptureDevice(videoDevices(0).MonikerString)
            AddHandler videoSource.NewFrame, AddressOf VideoSource_NewFrame
            videoSource.Start()
        Else
            MessageBox.Show("No video devices found.")
            Close()
        End If
    End Sub

    ' Event handler for capturing and processing new frame from the video source
    Private Sub VideoSource_NewFrame(sender As Object, eventArgs As NewFrameEventArgs)
        pictureBoxCamera.Image = DirectCast(eventArgs.Frame.Clone(), Bitmap)

        ' Process each frame for barcode recognition
        Dim image = DirectCast(pictureBoxCamera.Image, Bitmap)
        Dim result = BarcodeReader.QuicklyReadOneBarcode(image, BarcodeEncoding.QRCode Or BarcodeEncoding.Code128)

        If result IsNot Nothing Then
            ' Barcode found, handle the new result (e.g., display the barcode value)
            Dim barcodeValue As String = result.Text
            ShowBarcodeResult(barcodeValue)
        End If
    End Sub

    ' Method to display the barcode result
    Private Sub ShowBarcodeResult(barcodeValue As String)
        ' Invoke on UI thread to update UI controls
        If InvokeRequired Then
            Invoke(New Action(Of String)(AddressOf ShowBarcodeResult), barcodeValue)
        Else
            ' Display the barcode value in a MessageBox or any other UI element
            MessageBox.Show("Barcode Value: " & barcodeValue, "Barcode Detected")
        End If
    End Sub

    ' Event handler for form closing
    Private Sub MainForm_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
        If videoSource IsNot Nothing AndAlso videoSource.IsRunning Then
            videoSource.SignalToStop()
            videoSource.WaitForStop()
        End If
    End Sub
End Class
VB .NET

Dans cet exemple de code, nous l'avons configuré pour lire les QR codes et les codes-barres Code 128. Tout d'abord, nous utilisons un PictureBox pour capturer les images de code-barres à partir d'une webcam ou de tout appareil photo en scannant le code-barres. Ensuite, nous créons une image bitmap, qui est ensuite fournie en entrée à la classe BarcodeReader de IronBarcode. Cette application lit le code-barres 2D à partir d'images et les décode. Si un résultat positif est obtenu après le décodage, alors le résultat est affiché dans la boîte de message.

Licence (Essai Gratuit Disponible)

Pour utiliser IronBarcode, vous devez placer une clé de licence dans votre appsettings.json.

{
    "IronBarcode.LicenseKey": "MYLICENSE.KEY.TRIAL"
}

Fournissez votre adresse email pour obtenir une licence d'évaluation, et après avoir soumis l'adresse email, la clé sera livrée par email.

Comment lire un code-barres à partir d'une caméra en VB .NET : Figure 7 - Popup après avoir soumis avec succès un formulaire d'essai

Conclusion

La mise en œuvre de la lecture de code-barres à partir d'une caméra dans VB.NET est une fonctionnalité puissante qui peut améliorer diverses applications dans différentes industries. En utilisant des bibliothèques comme IronBarcode et en les intégrant dans votre projet VB.NET, vous pouvez créer des applications de numérisation de codes-barres efficaces et fiables répondant aux exigences du monde technologique d'aujourd'hui. Ce guide sert de point de départ, et les développeurs peuvent personnaliser et optimiser davantage la solution en fonction de leurs besoins spécifiques, types de codes-barres et cas d'utilisation.

Questions Fréquemment Posées

Comment puis-je lire des codes-barres depuis une caméra en utilisant VB.NET ?

Pour lire des codes-barres depuis une caméra en VB.NET, vous pouvez utiliser la bibliothèque IronBarcode pour décoder les images capturées depuis un flux de caméra. Tout d'abord, configurez un projet VB.NET dans Visual Studio, installez IronBarcode via NuGet, et utilisez la bibliothèque AForge pour gérer l'entrée de la caméra.

Quelles étapes sont impliquées dans la configuration d'un projet de lecteur de code-barres en VB.NET ?

Commencez par créer une nouvelle application Windows Forms VB.NET dans Visual Studio. Installez la bibliothèque IronBarcode en utilisant NuGet et configurez un PictureBox pour capturer des images depuis votre caméra. Utilisez la bibliothèque AForge pour gérer les flux de caméra et IronBarcode pour décoder les codes-barres.

Comment intégrer des capacités de capture de caméra dans une application VB.NET ?

Vous pouvez intégrer des capacités de capture de caméra dans une application VB.NET en utilisant la bibliothèque AForge pour accéder et gérer les flux de caméra. Ces flux peuvent alors être traités pour capturer des images pour le décodage des codes-barres en utilisant IronBarcode.

Quels types de codes-barres peuvent être décodés en utilisant IronBarcode dans un projet VB.NET ?

IronBarcode prend en charge le décodage d'une large gamme de types de codes-barres, y compris les QR codes et le Code 128, dans un projet VB.NET. La bibliothèque est polyvalente et peut être configurée pour reconnaître différents formats de codes-barres.

Quels sont les composants nécessaires pour développer une application de balayage de code-barres en VB.NET ?

Pour développer une application de balayage de codes-barres en VB.NET, vous avez besoin de Visual Studio, d'une caméra compatible, de la bibliothèque IronBarcode installée via NuGet, et de la bibliothèque AForge pour gérer l'entrée de la caméra.

Comment puis-je résoudre les problèmes courants lors de la lecture de codes-barres depuis une caméra en VB.NET ?

Assurez-vous que votre caméra est correctement connectée et reconnue par votre système. Vérifiez que les bibliothèques IronBarcode et AForge sont correctement installées et que votre application a accès au flux de la caméra. Vérifiez la syntaxe du code et les références des bibliothèques pour détecter les erreurs.

Quel est le processus d'affichage des résultats de balayage de code-barres dans une application VB.NET ?

Une fois qu'un code-barres est décodé en utilisant IronBarcode, vous pouvez afficher le résultat dans votre application VB.NET en le montrant dans un composant de l'interface utilisateur comme un MessageBox ou un Label pour présenter les données du code-barres à l'utilisateur.

Puis-je essayer la bibliothèque de code-barres avant d'acheter, et comment obtenir l'essai ?

Oui, vous pouvez essayer la bibliothèque de code-barres en obtenant une clé de licence d'essai sur le site Web d'Iron Software. Soumettez votre adresse e-mail et vous recevrez la clé d'essai par e-mail pour l'utiliser dans vos projets VB.NET.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite