Escaneando fluxos de vídeo ao vivo com IronQR
Você quer ler códigos QR em tempo real da câmera de um telefone, mas IronQR não tem um método embutido para escanear fluxos de vídeo ao vivo. A solução alternativa é fornecer ao leitor quadros individuais da câmera, um de cada vez.
Solução
IronQR está focado em reconhecimento de códigos QR estáticos de alta precisão. A decodificação de vídeo em tempo real é domínio de frameworks de visão computacional, como OpenCV ou SDKs nativos da plataforma. Para obter o efeito de escaneamento ao vivo, capture quadros por conta própria e decodifique cada um como uma imagem estática.
1. Acesse o feed da câmera do dispositivo
Abra a câmera através de uma API nativa da plataforma: Xamarin.Essentials, MAUI Camera, ou diretamente os SDKs do Android/iOS.
2. Capture quadros continuamente
Puxe um quadro em um intervalo curto, por exemplo, a cada 100ms, e converta-o em um bitmap.
3. Passe cada quadro para o leitor
Envolva o bitmap capturado em um QrImageInput e entregue-o para 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)
Cada chamada analisa um quadro estático. Decodifique-os consecutivamente e a câmera parecerá escanear ao vivo, mesmo que o IronQR apenas veja imagens individuais.

