Jak odczytać kod kreskowy z kamery w VB .NET
W szybko zmieniającym się świecie technologii skanery BARCODE stały się integralną częścią różnych branż, od handlu detalicznego i logistyki po opiekę zdrowotną i produkcję. Visual Basic .NET firmy Microsoft, wszechstronny i potężny język programowania, zapewnia programistom solidną platformę do tworzenia aplikacji, które mogą odczytywać BarCodes bezpośrednio z obrazu z kamery. Celem tego artykułu jest przedstawienie kompleksowego samouczka dotyczącego odczytu kodów kreskowych za pomocą kamery w języku Visual Basic przy użyciu biblioteki IronBarcode firmy Iron Software.
Biblioteka IronBarcode umożliwia odczytywanie plików graficznych z kodami kreskowymi, a także danych przesyłanych strumieniowo z kamer. Obsługuje również odczytywanie BARCODE-ów z dokumentów PDF. Może skanować maksymalnie jeden kod kreskowy na raz. Typ kodu kreskowego należy określić w momencie odczytu obrazu kodu kreskowego w pakiecie SDK czytnika kodów kreskowych VB.NET.
Jak odczytać BarCode z kamery w VB .NET
- Utwórz nowy projekt VB.NET w Visual Studio
- Zainstaluj bibliotekę IronBarcode i zastosuj ją w swoim projekcie
- Pobierz kod kreskowy z aparatu jako obraz przy użyciu biblioteki AForge
- Odkoduj obraz kodu kreskowego za pomocą IronBarcode
Wymagania wstępne
- Visual Studio: Upewnij się, że masz zainstalowane Visual Studio lub inne środowisko programistyczne VB.NET.
- Kompatybilny aparat: Upewnij się, że aparat jest podłączony do urządzenia.
- Menedżer pakietów NuGet: Upewnij się, że możesz używać NuGet do zarządzania pakietami w swoim projekcie.
Krok 1: Utwórz nowy projekt Visual Basic .NET w Visual Studio
Utwórz nową aplikację VB.NET Windows Forms (lub użyj istniejącego projektu), w której chcesz umieścić kod do odczytu BARCODE z aparatu.

W kolejnym kroku możesz podać nazwy rozwiązań i projektów.

Wybierz wersję .NET i kliknij przycisk "Utwórz".
Krok 2: Zainstaluj bibliotekę IronBarcode
Otwórz projekt VB.NET i zainstaluj bibliotekę IronBarcode za pomocą konsoli NuGet Package Manager:
Install-Package BarCode

Pakiet NuGet można również zainstalować za pomocą menedżera pakietów NuGet w programie Visual Studio, jak pokazano poniżej.

Krok 3: Odczytanie BarCODE z kamery
Aby zeskanować kanał i przechwycić obraz z kamery, potrzebujemy biblioteki AForge. Zainstaluj go zgodnie z poniższą instrukcją za pomocą menedżera pakietów NuGet.

Kolejnym krokiem jest dodanie kontrolki PictureBox z ToolBox do formularzy. Służy to do przechwytywania obrazu z kamery.

Następnie skopiuj poniższy kod do aplikacji formularzy i utwórz komponent czytnika kodów kreskowych VB .NET z biblioteki 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
W tym przykładowym kodzie skonfigurowaliśmy go do odczytu kodów QR i BarCODE-ów Code 128. Najpierw używamy PictureBox do przechwytywania obrazów BarCode z kamery internetowej lub dowolnego urządzenia fotograficznego poprzez skanowanie BarCode. Następnie tworzymy obraz bitmapowy, który jest następnie podany jako wejście do klasy IronBarcode BarcodeReader. Ta aplikacja odczytuje kody kreskowe 2D z obrazów i je dekoduje. Jeśli po dekodowaniu uzyskany zostanie wynik pozytywny, zostanie on wyświetlony w oknie komunikatu.
Licencjonowanie (dostępna bezpłatna wersja próbna)
Aby używać IronBarcode, musisz umieścić klucz licencyjny w swoim appsettings.json.
{
"IronBarCode.LicenseKey": "MYLICENSE.KEY.TRIAL"
}
Podaj swój adres e-mail, aby otrzymać Licencję Trial. Po przesłaniu adresu e-mail klucz zostanie dostarczony pocztą elektroniczną.

Wnioski
Wdrożenie odczytu BarCode z kamery w VB.NET to potężna funkcja, która może wzbogacić różne aplikacje w różnych branżach. Wykorzystując biblioteki takie jak IronBarcode i integrując je z projektem VB.NET, można tworzyć wydajne i niezawodne aplikacje do skanowania kodów kreskowych, które spełniają wymagania dzisiejszego świata opartego na technologii. Niniejszy przewodnik stanowi punkt wyjścia, a programiści mogą dalej dostosowywać i optymalizować rozwiązanie w oparciu o swoje konkretne wymagania, typy BARCODE-ów i przypadki użycia.
Często Zadawane Pytania
Jak odczytać kody kreskowe z kamery za pomocą VB.NET?
Aby odczytać kody kreskowe z kamery w VB.NET, można użyć biblioteki IronBarcode do dekodowania obrazów przechwyconych z sygnału kamery. Najpierw należy skonfigurować projekt VB.NET w Visual Studio, zainstalować IronBarcode za pośrednictwem NuGet i użyć biblioteki AForge do zarządzania danymi wejściowymi z kamery.
Jakie kroki należy wykonać, aby skonfigurować projekt czytnika kodów kreskowych w VB.NET?
Zacznij od utworzenia nowej aplikacji VB.NET Windows Forms w Visual Studio. Zainstaluj bibliotekę IronBarcode za pomocą NuGet i skonfiguruj PictureBox do przechwytywania obrazów z aparatu. Użyj biblioteki AForge do obsługi strumieni z aparatu oraz IronBarcode do dekodowania kodów kreskowych.
Jak zintegrować funkcje przechwytywania obrazu z kamery w aplikacji VB.NET?
Możesz zintegrować funkcje przechwytywania obrazu z kamery w aplikacji VB.NET, używając biblioteki AForge do uzyskiwania dostępu do strumieni z kamery i zarządzania nimi. Strumienie te można następnie przetwarzać w celu przechwytywania obrazów do dekodowania kodów kreskowych za pomocą biblioteki IronBarcode.
Jakie typy kodów kreskowych można dekodować za pomocą IronBarcode w projekcie VB.NET?
IronBarcode obsługuje dekodowanie szerokiej gamy typów kodów kreskowych, w tym kodów QR i Code 128, w projekcie VB.NET. Biblioteka IronBarcode jest wszechstronna i można ją skonfigurować tak, aby rozpoznawała różne formaty kodów kreskowych.
Jakie elementy są niezbędne do stworzenia aplikacji do skanowania kodów kreskowych w VB.NET?
Aby stworzyć aplikację do skanowania kodów kreskowych w VB.NET, potrzebujesz Visual Studio, kompatybilnej kamery, biblioteki IronBarcode zainstalowanej przez NuGet oraz biblioteki AForge do obsługi danych z kamery.
Jak rozwiązać typowe problemy związane z odczytywaniem kodów kreskowych z kamery w VB.NET?
Upewnij się, że kamera jest prawidłowo podłączona i rozpoznana przez system. Sprawdź, czy biblioteka IronBarcode i biblioteka AForge są poprawnie zainstalowane oraz czy aplikacja ma dostęp do obrazu z kamery. Sprawdź składnię kodu i odwołania do bibliotek pod kątem błędów.
Jak wygląda proces wyświetlania wyników skanowania BarCode w aplikacji VB.NET?
Po zdekodowaniu kodu kreskowego za pomocą IronBarcode można wyświetlić wynik w aplikacji VB.NET, pokazując go w komponencie interfejsu użytkownika, takim jak MessageBox lub Label, aby przedstawić dane kodu kreskowego użytkownikowi.
Czy mogę wypróbować bibliotekę BarCode przed zakupem i jak mogę uzyskać wersję próbną?
Tak, możesz wypróbować bibliotekę kodów kreskowych, uzyskując klucz licencji Trial ze strony internetowej Iron Software. Podaj swój adres e-mail, a otrzymasz klucz Trial pocztą elektroniczną, który możesz wykorzystać w swoich projektach VB.NET.




