Como ler códigos QR com diferentes modos de leitura

This article was translated from English: Does it need improvement?
Translated
View the article in English

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. Armazenar os dados necessários em arquivos compactos e somente leitura tornou-se o padrão, e os desenvolvedores precisam de maneiras eficazes de extrair essas informações em diferentes ambientes.

O IronQR oferece 3 opções de leitura para códigos 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.

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);
$vbLabelText   $csharpLabel

Entrada de digitalização

Código QR danificado

Arquivo de texto salvo

Arquivo de texto

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++;
}
$vbLabelText   $csharpLabel

Entrada de digitalização

Xícara com um link para o site do Café

Visor do console

O URL do site do café é registrado após a digitalização da foto via IronQR.

Exibição do URL do site no console

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.

ObserveAs coordenadas retornadas por esta função são armazenadas em uma sequência estrita em "zigue-zague": superior esquerda, superior direita, inferior esquerda e, finalmente, inferior direita

: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}");
        }
    }
}
$vbLabelText   $csharpLabel

Imagem de xícara com rótulo

Copo etiquetado

console etiquetado

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.

Ahmad Sohail
Desenvolvedor Full Stack

Ahmad é um desenvolvedor full-stack com uma sólida base em C#, Python e tecnologias web. Ele tem um grande interesse em construir soluções de software escaláveis e gosta de explorar como design e funcionalidade se encontram em aplicações do mundo real.

Antes de se ...

Leia mais
Pronto para começar?
Nuget Downloads 61,359 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronQR
executar um exemplo Veja seu URL se transformar em um código QR.