Cómo leer códigos QR con diferentes modos de escaneo
Escanear código QR se ha convertido en una tarea rutinaria en 2025, a medida que más productos avanzan hacia la digitalización y el acceso siempre en línea. El almacenamiento de los datos necesarios en impresiones compactas de solo lectura es ahora la norma, y los desarrolladores necesitan formas eficaces de leer código QR en distintos entornos.
IronQR ofrece 3 opciones de lectura para códigos QR, cada una diseñada para casos de uso específicos.
En esta guía práctica se explican los tres métodos con ejemplos claros. Si aún no la has consultado, echa un vistazo a la guía anterior sobre cómo leer códigos QR a partir de imágenes o cómo escribir tu propio código QR.
Cómo leer códigos QR con diferentes modos de escaneado
- Descargue la biblioteca C# para leer códigos QR con opciones avanzadas de escaneado
- Cargar el archivo de imagen de destino
- Inicializar un `QrImageInput` pasando la imagen y el `QrScanMode` requerido
- Instanciar la clase `QrReader` y pasar el objeto de entrada al método `Read`
- Recuperar los resultados para acceder al texto `Valor` descodificado o iterar a través de la matriz `Puntos` para los datos de coordenadas.
Entender los modos de escaneo de códigos QR
IronQR ofrece tres potentes modos de escaneo a través de la enumeración QrScanMode:
- Modo automático (
QrScanMode.Auto): combina la detección de aprendizaje automático y algoritmos de escaneo básicos para lograr la máxima precisión y confiabilidad - Solo modo de escaneo básico (
QrScanMode.OnlyBasicScan): utiliza técnicas de procesamiento de imágenes convencionales para un escaneo rápido y confiable cuando los códigos QR son claramente visibles - Modo de modelo de detección (
QrScanMode.OnlyDetectionModel): aprovecha el aprendizaje automático para detectar posiciones de códigos QR, ideal para extraer datos de coordenadas
Exploremos en detalle cada método de digitalización.
Sólo modo de exploración básica
Solo el modo de escaneo básico utiliza algoritmos tradicionales de procesamiento de imágenes sin el uso de aprendizaje automático. Este método es rápido y eficaz cuando los códigos QR son claramente visibles y están bien colocados; sin embargo, sigue funcionando con QR dañados si los tres cuadrados de las esquinas son legibles.
: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 exploración
Archivo de texto guardado
Modo de exploración automática
El modo de escaneo automático es el predeterminado (para QrScanMode) y la opción más versátil disponible. Combina automáticamente la detección de aprendizaje automático con algoritmos de escaneado tradicionales para ofrecer los mejores resultados posibles en toda una gama de condiciones de imagen.
El ejemplo muestra una imagen que se carga y activa el modo Auto. Luego escanea la imagen y recopila todos los códigos QR que encuentra en una lista. Finalmente, revisa la colección results e imprime el texto de cada valor en la consola (en este caso, solo la 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 exploración
Visualización de la consola
La URL del sitio web de la cafetería se registra tras escanear la foto a través de IronQR.
Modo del modelo de detección
El modo Modelo de detección utiliza el aprendizaje automático específicamente para detectar posiciones de códigos QR dentro de imágenes. Esta calidad hace que sea muy valiosa para aplicaciones de análisis espacial y visión por ordenador. El sistema de coordenadas que utiliza tiene el origen en (0, 0).
Por lo general, los escáneres QR utilizan algoritmos de descodificación estándar que se basan en tres patrones de búsqueda; este modelo captura los cuatro vértices del ID. El objeto result contiene una colección Points que se itera para recuperar los datos de posición.
El código reutiliza la foto de la taza del ejemplo anterior para demostrar la detección de valores posicionales dentro de la imagen.
: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
Imagen de copa etiquetada
Consola etiquetada
Comparación de métodos de exploración
| Característica (`QRScanMode`) | Escaneo básico (`OnlyBasicScan`) | Escaneo automático (`Auto`) | Modelo de detección (`OnlyDetectionModel`) |
|---|---|---|---|
| **Salida** | Texto descodificado (valor) | Texto descodificado (valor) | Coordenadas (puntos) |
| **Algoritmo** | Solo tradicional | Híbrido (ML + Tradicional) | Solo aprendizaje automático |
| **Enfoque** | Velocidad | Legibilidad / Recuperación | Localización / Visión por ordenador |
Conclusión
Los tres modos de escaneado de IronQR proporcionan flexibilidad para cualquier escenario de lectura de códigos QR:
- Auto Scan: Máxima precisión y fiabilidad para uso general
- Basic Scan: velocidad y eficacia para imágenes de alta calidad
- Modelo de detección: Conocimiento de la posición para aplicaciones espaciales
Al comprender los puntos fuertes de cada método, puedes optimizar la implementación de la lectura de códigos QR para tus requisitos específicos. Tanto si necesita una extracción de datos exhaustiva, un procesamiento ultrarrápido o una detección de posición precisa, IronQR es la solución.
Para obtener más ejemplos e información detallada sobre la API, visite la documentación de IronQR o explore los ejemplos de código en GitHub.
Preguntas Frecuentes
¿Cuáles son los distintos modos de escaneado disponibles para leer códigos QR?
IronQR ofrece varios modos de escaneado, como automático, manual y por lotes, para leer códigos QR de forma eficiente en diferentes escenarios.
¿Cómo puedo implementar el escaneado de códigos QR en un proyecto de C#?
Puede implementar el escaneado de códigos QR en un proyecto C# integrando la biblioteca IronQR, que proporciona métodos fáciles de usar para leer códigos QR con diferentes modos de escaneado.
¿Cuáles son las ventajas de utilizar IronQR para escanear códigos QR?
IronQR ofrece una gran precisión, un procesamiento rápido y admite diferentes modos de escaneado, lo que lo convierte en una opción versátil para el escaneado de códigos QR en proyectos de C#.
¿Es posible leer varios códigos QR a la vez con IronQR?
Sí, IronQR admite el modo de escaneado por lotes, lo que permite leer varios códigos QR simultáneamente para aumentar la eficacia.
¿Es compatible IronQR con el escaneado de códigos QR de diversas fuentes?
IronQR puede escanear códigos QR de diversas fuentes, como imágenes, PDF y transmisiones de cámaras en directo, lo que proporciona flexibilidad a los desarrolladores.
¿Puede IronQR manejar códigos QR con diferentes orientaciones?
Sí, IronQR está diseñado para leer con precisión códigos QR independientemente de su orientación, lo que garantiza resultados de escaneado fiables.
¿Cómo funciona el modo de exploración automática en IronQR?
El modo de escaneado automático de IronQR detecta y lee de forma inteligente los códigos QR sin necesidad de introducir datos manualmente, lo que agiliza el proceso de escaneado.
¿Qué conocimientos de programación son necesarios para utilizar IronQR para escanear códigos QR?
Un conocimiento básico de programación en C# es suficiente para utilizar IronQR para el escaneado de códigos QR, ya que la biblioteca ofrece una integración y un uso sencillos.
¿Existe una versión de prueba de IronQR?
Sí, IronQR ofrece una versión de prueba que permite a los desarrolladores probar sus funciones y modos de escaneado antes de comprometerse con la compra.
¿Dónde puedo descargar la biblioteca IronQR?
La biblioteca IronQR puede descargarse del sitio web de Iron Software, donde también encontrará documentación y recursos de asistencia.

