Cómo leer códigos QR con diferentes modos de escaneo

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

La lectura de códigos 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 extraer esa información 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.

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 algoritmos de detección de aprendizaje automático y de escaneo básico para obtener la máxima precisión y fiabilidad
  • Modo de escaneo solo básico (QrScanMode.OnlyBasicScan): utiliza técnicas convencionales de procesamiento de imágenes para un escaneo rápido y fiable 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 System.Linq;
using IronQr;
using IronQr.Enum;
using IronSoftware.Drawing;
using System.IO;

 // 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 System.Linq
Imports IronQr
Imports IronQr.Enum
Imports IronSoftware.Drawing
Imports System.IO

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

Entrada de exploración

Código QR dañado >Código QR dañado

Archivo de texto guardado

Archivo de texto

Modo de exploración automática

El modo Auto Scan 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 la carga de una imagen y la activación del modo Auto. A continuación, escanea la imagen y recopila en una lista todos los códigos QR que encuentra. Por último, recorre la colección results e imprime el texto de cada valor en la consola (en este caso, sólo 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
$vbLabelText   $csharpLabel

Entrada de exploración

Taza con un enlace al sitio web del Café

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.

Visualización de la consola de la URL del sitio web

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 resultado contiene una colección Puntos por la 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.

Por favor notaLas coordenadas que devuelve esta función se almacenan en una estricta secuencia de "zig-zag": arriba a la izquierda, arriba a la derecha, abajo a la izquierda y, por último, abajo a la derecha

:path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-detection-model.cs
using System;
using System.Linq;
using IronQr;
using IronQr.Enum;
using IronSoftware.Drawing;

// 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 System.Linq
Imports IronQr
Imports IronQr.Enum
Imports IronSoftware.Drawing

' 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
$vbLabelText   $csharpLabel

Imagen de copa etiquetada

Taza etiquetada

Consola 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.

Ahmad Sohail
Desarrollador Full Stack

Ahmad es un desarrollador full-stack con una sólida base en C#, Python y tecnologías web. Tiene un profundo interés en construir soluciones de software escalables y disfruta explorando cómo el diseño y la funcionalidad se encuentran en aplicaciones del mundo real.

Antes ...

Leer más
¿Listo para empezar?
Nuget Descargas 58,270 | Versión: 2026.2 recién lanzado