Skanowanie Strumieni Wideo w Czasie Rzeczywistym z IronQR
Chcesz odczytać kody QR w czasie rzeczywistym z kamery telefonu, lecz IronQR nie posiada wbudowanej metody do skanowania strumieni wideo w czasie rzeczywistym. Rozwiązaniem jest przekazywanie czytnikowi pojedynczych klatek z kamery, jedna po drugiej.
Rozwiązanie
IronQR skupia się na wysokiej dokładności rozpoznawania kodów QR dla statycznych obrazów. Odczyt video w czasie rzeczywistym to domena frameworków widzenia komputerowego, takich jak OpenCV lub natywnych SDK kamery platformy. Aby uzyskać efekt skanowania na żywo, samemu uchwyć klatki i dekoduj każdą jako statyczny obraz.
1. Uzyskaj dostęp do strumienia kamery urządzenia
Otwórz kamerę za pomocą natywnego API platformy: Xamarin.Essentials, MAUI Camera, lub bezpośrednio SDK Android/iOS.
2. Pobieraj klatki stale
Pobieraj klatkę w krótkim przedziale czasu, na przykład co 100ms, i przekształcaj ją w bitmapę.
3. Przekaż każdą klatkę do czytnika
Opakuj przechwycony bitmap w QrImageInput i przekaz go do QrReader.Read().
// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(capturedBitmap);
// Create a QR Reader object
QrReader reader = new QrReader();
// Read the Input an get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(capturedBitmap);
// Create a QR Reader object
QrReader reader = new QrReader();
// Read the Input an get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
' Load the asset into QrImageInput
Dim imageInput As New QrImageInput(capturedBitmap)
' Create a QR Reader object
Dim reader As New QrReader()
' Read the Input and get all embedded QR Codes
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
Każde wywołanie analizuje jedną nieruchomą klatkę. Dekoduj je jedna po drugiej i kamera wydaje się skanować na żywo, mimo że IronQR widzi tylko poszczególne obrazy.

