IRONBARCODE VERWENDEN

Wie man einen Barcode von einer Kamera in VB .NET liest

Jordi Bardia
Jordi Bardia
6. März 2024
Teilen Sie:

In der sich rasch entwickelnden Technologielandschaft sind Barcode-Scanner zu einem festen Bestandteil verschiedener Branchen geworden, vom Einzelhandel und der Logistik bis hin zum Gesundheitswesen und der Fertigung. Visual Basic .NET von Microsoft, eine vielseitige und leistungsstarke Programmiersprache, bietet Entwicklern ein robustes Framework für die Erstellung von Anwendungen, die Barcodes direkt von einer Kamera einlesen können. Dieser Artikel zielt darauf ab, ein umfassendes Tutorial zur Barcode-Erkennung mit einer Kamera in Visual Basic unter Verwendung der IronBarcode-Bibliothek von Iron Software bereitzustellen.

Mit der IronBarcode-Bibliothek können Sie Barcode-Bilddateien lesen, auch wenn sie von Kameras gestreamt werden. Es unterstützt auch das Lesen von Barcodes aus einem PDF-Dokument. Kann maximal einen Barcode auf einmal einlesen. Der Barcodetyp muss zum Zeitpunkt des Lesens des Barcodebildes im VB.NET Barcode Reader SDK angegeben werden.

Wie man einen Barcode von einer Kamera in VB .NET liest

  1. Erstellen eines neuen VB.NET-Projekts in Visual Studio

  2. Installieren Sie die IronBarcode Library und wenden Sie sie auf Ihr Projekt an

  3. Holen Sie sich den Barcode von der Kamera als Bild aus der Aforge-Bibliothek

  4. Dekodieren Sie das Barcodebild mit IronBarcode

Voraussetzungen

  1. Visual Studio: Stellen Sie sicher, dass Visual Studio oder eine andere VB.NET-Entwicklungsumgebung installiert ist.

  2. Kompatible Kamera: Stellen Sie sicher, dass die genannte Kamera mit Ihrem Gerät verbunden ist.

  3. NuGet-Paket-Manager: Stellen Sie sicher, dass Sie NuGet verwenden können, um Pakete in Ihrem Projekt zu verwalten.

Schritt 1: Erstellen eines neuen Visual Basic .NET-Projekts in Visual Studio

Erstellen Sie eine neue VB.NET Windows-Form-Anwendung (oder verwenden Sie ein bestehendes Projekt), in der Sie den Code zum Auslesen des Barcodes von Ihrer Kamera hosten möchten.

Wie man einen Barcode von der Kamera in VB.NET liest: Abbildung 1 - Neue VB.NET Windows-Form-Anwendung erstellen

Im nächsten Schritt können Sie die Lösung und die Projektnamen angeben.

So lesen Sie einen Barcode von der Kamera in VB .NET: Abbildung 2 - Das Projekt mit Name und Lösung konfigurieren

Wählen Sie die .NET-Version aus und klicken Sie auf die Schaltfläche "Erstellen".

Schritt 2: Installieren Sie die IronBarcode-Bibliothek

Öffnen Sie Ihr C#-Projekt und installieren Sie die IronBarcode-Bibliothek mithilfe der NuGet Paket-Manager-Konsole:

Install-Package BarCode

Wie man einen Barcode von der Kamera in VB .NET liest: Abbildung 3 - Installation des NuGet IronBarcode-Pakets

Das NuGet-Paket kann auch mit dem NuGet-Paketmanager von Visual Studio installiert werden, wie unten gezeigt.

Wie man einen Barcode von der Kamera in VB .NET liest: Abbildung 4 - Installation von IronBarcode über den Visual Studio Package Manager

Schritt 3: Lesen des Barcodes von der Kamera

Um den Feed zu scannen und das Bild von der Kamera zu erfassen, benötigen wir die AForge Library. Installieren Sie es wie folgt über den NuGet-Paketmanager

So lesen Sie einen Barcode von der Kamera in VB .NET: Abbildung 5 - AForge-Bibliothekspakete, die im Visual Studio-Paket-Manager gefunden werden

Der nächste Schritt besteht darin, das PictureBox-Steuerelement aus der ToolBox zu den Formularen hinzuzufügen. Damit wird das Bild von der Kamera aufgenommen.

So lesen Sie einen Barcode von der Kamera in VB .NET: Abbildung 6 - Hinzufügen des PictureBox-Steuerelements

Dann kopieren Sie den untenstehenden Code in die Formularanwendung und erstellen Sie die VB .NET Barcode-Lesekomponente von IronBarcode.

Imports IronBarCode
Imports AForge.Video
Imports AForge.Video.DirectShow
Public Class Form1
    Private videoDevices As FilterInfoCollection
    Private videoSource As VideoCaptureDevice
    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
    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
    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 font value in a MessageBox or any other UI element
            MessageBox.Show("Barcode Value: " & barcodeValue, "Barcode Detected")
        End If
    End Sub
    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
    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
    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
    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 font value in a MessageBox or any other UI element
            MessageBox.Show("Barcode Value: " & barcodeValue, "Barcode Detected")
        End If
    End Sub
    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

In diesem Beispielcode haben wir ihn so konfiguriert, dass er QR-Codes, Data-Matrix- und Barcode-Bilder mit dem Barcodetyp Code 128 liest. Zunächst verwenden wir PictureBox, um Barcode-Bilder von einer Webcam oder einem beliebigen Kameragerät durch Scannen des Barcodes zu erfassen. Dann erstellen wir ein Bitmap-Bild. Diese wird dann als Eingabe für die IronBarcode BarcodeReader-Klasse bereitgestellt. Diese Anwendung liest den 2D-Barcode aus Bildern und dekodiert ihn. Wenn nach der Dekodierung ein positives Ergebnis erzielt wird, wird das Ergebnis im Meldungsfenster angezeigt.

Lizenzierung (kostenlose Testversion verfügbar)

IronBarcode. Dieser Schlüssel muss in appsettings.json platziert werden.

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

Geben Sie die E-Mail-ID des Benutzers an, um eine Testlizenz zu erhalten, und nachdem Sie die E-Mail-ID übermittelt haben, wird der Schlüssel per E-Mail zugestellt.

Wie man einen Barcode von der Kamera in VB .NET liest: Abbildung 7 - Popup nach erfolgreicher Einreichung eines Testformulars

Schlussfolgerung

Das Implementieren der Barcode-Erkennung von einer Kamera in VB.NET ist eine leistungsstarke Funktion, die verschiedene Anwendungen in unterschiedlichen Branchen verbessern kann. Indem Sie Bibliotheken wie IronBarcode nutzen und in Ihr VB.NET-Projekt integrieren, können Sie effiziente und zuverlässige Barcode-Scananwendungen erstellen, die den Anforderungen der technologieorientierten Welt von heute gerecht werden. Dieser Leitfaden dient als Ausgangspunkt, und Entwickler können die Lösung auf der Grundlage ihrer spezifischen Anforderungen, Barcodetypen und Anwendungsfälle weiter anpassen und optimieren.

Jordi Bardia
Software-Ingenieur
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS
Verwendung von 2D-Barcodes in VB .NET
NÄCHSTES >
Erzeugen von Code 128 Barcode in C#

Sind Sie bereit, loszulegen? Version: 2025.4 gerade veröffentlicht

Lizenzen anzeigen >