Como ler códigos QR com diferentes modos de leitura
A leitura de códigos QR tornou-se uma tarefa rotineira em 2025, à medida que mais produtos se tornam digitais e oferecem acesso permanente à internet. Escanear código QR de forma eficiente exige suporte a múltiplos modos de leitura, e os desenvolvedores precisam de maneiras eficazes de extrair essas informações em diferentes ambientes.
O IronQR oferece 3 opções para escanear código QR, cada uma projetada para casos de uso específicos.
Neste guia prático, os três métodos serão explicados com exemplos claros. Caso ainda não tenha conferido, dê uma olhada no guia anterior sobre como ler códigos QR em imagens ou como escrever seu próprio código QR.
Como ler códigos QR com diferentes modos de leitura
- Baixe a biblioteca C# para ler códigos QR com opções avançadas de leitura.
- Carregar o arquivo de imagem de destino
- Inicialize um `QrImageInput` passando a imagem e o `QrScanMode` necessário.
- Instancie a classe `QrReader` e passe o objeto de entrada para o método `Read`
- Recupere os resultados para acessar o texto `Value` decodificado ou itere pela matriz `Points` para obter dados de coordenadas.
Entendendo os modos de leitura de código QR
IronQR oferece três modos de escaneamento poderosos através da enumeração QrScanMode:
- Modo Automático (
QrScanMode.Auto): combina tanto a detecção por aprendizagem de máquina quanto algoritmos básicos de escaneamento para máxima precisão e confiabilidade - Apenas Modo de Escaneamento Básico (
QrScanMode.OnlyBasicScan): utiliza técnicas convencionais de processamento de imagem para escaneamento rápido e confiável quando os códigos QR estão claramente visíveis - Modo de Modelo de Detecção (
QrScanMode.OnlyDetectionModel): Aproveita a aprendizagem de máquina para detectar posições de códigos QR, ideal para extrair dados de coordenadas
Vamos explorar cada método de digitalização em detalhes.
Somente o modo de digitalização básico
Somente o modo de digitalização básica utiliza algoritmos tradicionais de processamento de imagem, sem o uso de aprendizado de máquina. Este método é rápido e eficiente quando os códigos QR estão claramente visíveis e bem posicionados; No entanto, ainda funciona em códigos QR danificados, desde que os três quadrados dos cantos estejam legíveis.
:path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-basic.cs
using IronQr;
using IronQr.Enum;
using IronSoftware.Drawing;
using System.IO;
using System.Linq;
// Load the image
var bmp = AnyBitmap.FromFile("damaged-qr.png");
// Create scan input using Only Basic Scan mode
var input = new QrImageInput(bmp, QrScanMode.OnlyBasicScan);
// Get the result
var result = new QrReader().Read(input).FirstOrDefault();
// Save the output to a text file
File.WriteAllText("basic-scan-output.txt", result.Value);
Imports IronQr
Imports IronQr.Enum
Imports IronSoftware.Drawing
Imports System.IO
Imports System.Linq
' Load the image
Dim bmp = AnyBitmap.FromFile("damaged-qr.png")
' Create scan input using Only Basic Scan mode
Dim input = New QrImageInput(bmp, QrScanMode.OnlyBasicScan)
' Get the result
Dim result = (New QrReader()).Read(input).FirstOrDefault()
' Save the output to a text file
File.WriteAllText("basic-scan-output.txt", result.Value)
Entrada de digitalização
Arquivo de texto salvo
Modo de varredura automática
O modo de Escaneamento Automático é o padrão (para QrScanMode) e a opção mais versátil disponível. Ele combina automaticamente a detecção por aprendizado de máquina com algoritmos de digitalização tradicionais para fornecer os melhores resultados possíveis em diversas condições de imagem.
O exemplo mostra uma imagem sendo carregada e ativando o modo Auto. Em seguida, escaneia a imagem e coleta cada código QR que encontrar em uma lista. Finalmente, percorre a coleção results e imprime o texto de cada valor no console (Neste caso, apenas a URL).
:path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-auto.cs
using System;
using IronQr;
using IronQr.Enum;
using IronSoftware.Drawing;
// Load the image file
var bmp = AnyBitmap.FromFile("cup.png");
// Create scan input using Auto Scan mode
var input = new QrImageInput(bmp, QrScanMode.Auto);
// Scan and read all QR codes
var results = new QrReader().Read(input);
// Initialize a counter to track the number of QR codes
int count = 1;
// Loop through each discovered QR code
foreach (var result in results)
{
Console.WriteLine($"QR {count}: {result.Value}");
count++;
}
Imports System
Imports IronQr
Imports IronQr.Enum
Imports IronSoftware.Drawing
' Load the image file
Dim bmp = AnyBitmap.FromFile("cup.png")
' Create scan input using Auto Scan mode
Dim input = New QrImageInput(bmp, QrScanMode.Auto)
' Scan and read all QR codes
Dim results = New QrReader().Read(input)
' Initialize a counter to track the number of QR codes
Dim count As Integer = 1
' Loop through each discovered QR code
For Each result In results
Console.WriteLine($"QR {count}: {result.Value}")
count += 1
Next
Entrada de digitalização
Visor do console
O URL do site do café é registrado após a digitalização da foto via IronQR.
Modo de modelo de detecção
O modo Modelo de Detecção utiliza aprendizado de máquina especificamente para detectar a posição de códigos QR em imagens. Essa qualidade a torna indispensável para análises espaciais e aplicações de visão computacional. O sistema de coordenadas que utiliza tem a origem em (0, 0).
Geralmente, os leitores de QR Code utilizam algoritmos de decodificação padrão que se baseiam em três padrões de localização; este modelo captura todos os quatro vértices do ID. O objeto result contém uma coleção Points que você percorre para recuperar os dados de posição.
O código reutiliza a foto da xícara do exemplo anterior para demonstrar a detecção de valores posicionais dentro da imagem.
:path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-detection-model.cs
using System;
using IronQr;
using IronQr.Enum;
using IronSoftware.Drawing;
using System.Linq;
// Load the image
var bmp = AnyBitmap.FromFile("cup.png");
// Create scan input using Detection Model mode
var input = new QrImageInput(bmp, QrScanMode.OnlyDetectionModel);
// Read QR code
var result = new QrReader().Read(input).FirstOrDefault();
// Print position data
if (result != null)
{
if (result.Points != null)
{
foreach (var point in result.Points)
{
Console.WriteLine($"Point: X={point.X}, Y={point.Y}");
}
}
}
Imports System
Imports IronQr
Imports IronQr.Enum
Imports IronSoftware.Drawing
Imports System.Linq
' Load the image
Dim bmp = AnyBitmap.FromFile("cup.png")
' Create scan input using Detection Model mode
Dim input = New QrImageInput(bmp, QrScanMode.OnlyDetectionModel)
' Read QR code
Dim result = (New QrReader()).Read(input).FirstOrDefault()
' Print position data
If result IsNot Nothing Then
If result.Points IsNot Nothing Then
For Each point In result.Points
Console.WriteLine($"Point: X={point.X}, Y={point.Y}")
Next
End If
End If
Imagem de xícara com rótulo
console etiquetado
Comparação de métodos de digitalização
| Recurso ( `QRScanMode` ) | Varredura básica ( `OnlyBasicScan` ) | Varredura automática ( `Auto` ) | Modelo de detecção ( `OnlyDetectionModel` ) |
|---|---|---|---|
| **Saída** | Texto decodificado (valor) | Texto decodificado (valor) | Coordenadas (Pontos) |
| **Algoritmo** | Tradicional apenas | Híbrido (ML + Tradicional) | Somente aprendizado de máquina |
| **Foco** | Velocidade | Legibilidade / Recuperação | Localização / Visão Computacional |
Conclusão
Os três modos de leitura do IronQR oferecem flexibilidade para qualquer cenário de leitura de código QR:
- Varredura automática : Máxima precisão e confiabilidade para uso geral.
- Digitalização básica : Rapidez e eficiência para imagens de alta qualidade.
- Modelo de Detecção : Consciência de posição para aplicações espaciais
Ao entender os pontos fortes de cada método, você pode otimizar a implementação da leitura de código QR de acordo com suas necessidades específicas. Seja para extração de dados abrangente, processamento ultrarrápido ou detecção precisa de posição, o IronQR tem a solução ideal para você.
Para obter mais exemplos e informações detalhadas sobre a API, visite a documentação do IronQR ou explore os exemplos de código no GitHub .
Perguntas frequentes
Quais são os diferentes modos de leitura disponíveis para códigos QR?
O IronQR oferece vários modos de leitura, como leitura automática, manual e em lote, para ler códigos QR de forma eficiente em diferentes cenários.
Como posso implementar a leitura de código QR em um projeto C#?
Você pode implementar a leitura de códigos QR em um projeto C# integrando a biblioteca IronQR, que fornece métodos fáceis de usar para ler códigos QR com diferentes modos de leitura.
Quais são os benefícios de usar o IronQR para leitura de códigos QR?
O IronQR oferece alta precisão, processamento rápido e suporta diferentes modos de leitura, tornando-o uma escolha versátil para leitura de códigos QR em projetos C#.
É possível ler vários códigos QR simultaneamente usando o IronQR?
Sim, o IronQR suporta o modo de leitura em lote, permitindo que você leia vários códigos QR simultaneamente para maior eficiência.
O IronQR suporta a leitura de códigos QR de diversas fontes?
O IronQR consegue ler códigos QR de diversas fontes, incluindo imagens, PDFs e transmissões de câmeras ao vivo, oferecendo flexibilidade aos desenvolvedores.
O IronQR consegue lidar com códigos QR em diferentes orientações?
Sim, o IronQR foi projetado para ler códigos QR com precisão, independentemente de sua orientação, garantindo resultados de leitura confiáveis.
Como funciona o modo de digitalização automática no IronQR?
O modo de leitura automática do IronQR detecta e lê códigos QR de forma inteligente, sem necessidade de intervenção manual, simplificando o processo de leitura.
Quais habilidades de programação são necessárias para usar o IronQR para leitura de códigos QR?
É suficiente ter conhecimento básico de programação em C# para usar o IronQR para leitura de códigos QR, já que a biblioteca oferece integração e uso simples.
Existe alguma versão de avaliação do IronQR disponível para testes?
Sim, o IronQR oferece uma versão de avaliação que permite aos desenvolvedores testar seus recursos e modos de digitalização antes de efetuar a compra.
Onde posso baixar a biblioteca IronQR?
A biblioteca IronQR pode ser baixada do site da Iron Software, onde você também encontrará documentação e recursos de suporte.

