Comment lire les codes QR avec différents modes de lecture

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

La lecture des codes QR est devenue une tâche routinière en 2025, car de plus en plus de produits sont numérisés et accessibles en ligne en permanence. Le stockage des données nécessaires dans des empreintes compactes en lecture seule est désormais la norme, et les développeurs ont besoin de moyens efficaces pour extraire ces informations dans différents environnements.

IronQR propose 3 options de lecture pour les codes QR, chacune conçue pour des cas d'utilisation spécifiques.

Dans ce guide pratique, les trois méthodes seront expliquées à l'aide d'exemples clairs. Si vous ne l'avez pas encore consulté, jetez un coup d'œil au guide précédent sur la lecture de codes QR à partir d'images ou sur l'écriture de votre propre code QR.

Compréhension des modes de lecture des codes QR

IronQR offre trois modes de numérisation puissants grâce à l'énumération QrScanMode :

  • Auto Mode (QrScanMode.Auto) : combine à la fois la détection par apprentissage automatique et les algorithmes de balayage de base pour une précision et une fiabilité maximales
  • Only Basic Scan Mode (QrScanMode.OnlyBasicScan) : utilise des techniques conventionnelles de traitement de l'image pour une lecture rapide et fiable lorsque les codes QR sont clairement visibles
  • Mode modèle de détection (QrScanMode.OnlyDetectionModel) : Exploite l'apprentissage automatique pour détecter les positions des codes QR, idéal pour extraire des données de coordonnées

Examinons chaque méthode de numérisation en détail.


Mode de balayage de base uniquement

Seul le mode de numérisation de base utilise des algorithmes de traitement d'image traditionnels sans recourir à l'apprentissage automatique. Cette méthode est rapide et efficace lorsque les codes QR sont clairement visibles et bien positionnés ; cependant, il fonctionne toujours sur les QR endommagés si les trois carrés d'angle sont lisibles.

: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

Scan input

Code QR endommagé

Fichier texte enregistré

Fichier texte

Mode de balayage automatique

Le mode de numérisation automatique est le mode par défaut (pour QrScanMode) et l'option la plus polyvalente disponible. Il combine automatiquement la détection par apprentissage automatique avec les algorithmes de balayage traditionnels afin d'obtenir les meilleurs résultats possibles dans toute une série de conditions d'image.

L'exemple montre le chargement d'une image et l'activation du mode Auto. Il scanne ensuite l'image et rassemble tous les codes QR qu'il trouve dans une liste. Enfin, il parcourt la collection results et imprime le texte de chaque valeur dans la console (dans ce cas, juste l'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

Scan input

Coupe avec un lien vers le site web de Cafe

Affichage de la console

L'URL du site web du café est enregistrée après numérisation de la photo via IronQR.

Affichage en console de l'URl d'un site web

Mode du modèle de détection

Le mode Modèle de détection utilise l'apprentissage automatique pour détecter les positions des codes QR dans les images. Cette qualité en fait un outil précieux pour les applications d'analyse spatiale et de vision par ordinateur. Le système de coordonnées qu'il utilise a pour origine (0, 0).

En général, les scanners QR utilisent des algorithmes de décodage standard qui s'appuient sur trois modèles de recherche, ce modèle capture les quatre sommets de l'identifiant. L'objet résultat contient une collection Points que vous parcourez pour récupérer les données de position.

Le code reprend la photo de la tasse de l'exemple précédent pour démontrer la détection des valeurs de position dans l'image.

Veuillez noterLes coordonnées renvoyées par cette fonction sont stockées dans une séquence "zig-zag" stricte : haut-gauche, haut-droit, bas-gauche, et enfin, bas-droit

: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

Image de coupe étiquetée

Coupe étiquetée

Console étiquetée

Console labellisée

Comparaison des méthodes d'analyse

Fonctionnalité (QRScanMode) Basic Scan (OnlyBasicScan) Auto Scan (Auto) Modèle de détection (OnlyDetectionModel)
Sortie Texte décodé (valeur) Texte décodé (valeur) Coordonnées (Points)
Algorithme Traditionnel uniquement Hybride (ML + traditionnel) Apprentissage automatique uniquement
Focus Vitesse Lisibilité / Récupération Localisation / Vision par ordinateur

Conclusion

Les trois modes de numérisation d'IronQR offrent une grande souplesse pour tous les scénarios de lecture de codes QR :

  • Auto Scan : Précision et fiabilité maximales pour une utilisation générale
  • <Basic Scan : rapidité et efficacité pour des images de haute qualité
  • Modèle de détection : Prise de conscience de la position pour les applications spatiales

En comprenant les points forts de chaque méthode, vous pouvez optimiser la mise en œuvre de la lecture des codes QR en fonction de vos besoins spécifiques. Que vous ayez besoin d'une extraction de données complète, d'un traitement rapide comme l'éclair ou d'une détection de position précise, IronQR vous couvre.

Pour obtenir d'autres exemples et des informations détaillées sur les API, consultez la documentation IronQR ou explorez les exemples de code sur GitHub.

Questions Fréquemment Posées

Quels sont les différents modes de lecture des codes QR ?

IronQR propose différents modes de numérisation tels que la numérisation automatique, manuelle et par lots pour lire efficacement les codes QR dans différents scénarios.

Comment puis-je mettre en œuvre la numérisation de codes QR dans un projet C# ?

Vous pouvez mettre en œuvre la lecture de codes QR dans un projet C# en intégrant la bibliothèque IronQR, qui fournit des méthodes faciles à utiliser pour lire les codes QR avec différents modes de lecture.

Quels sont les avantages de l'utilisation d'IronQR pour la numérisation de codes QR ?

IronQR offre une grande précision, un traitement rapide et prend en charge différents modes de numérisation, ce qui en fait un choix polyvalent pour la numérisation de codes QR dans les projets C#.

Est-il possible de lire plusieurs codes QR à la fois en utilisant IronQR ?

Oui, IronQR prend en charge le mode de numérisation par lots, ce qui vous permet de lire plusieurs codes QR simultanément pour une efficacité accrue.

IronQR prend-il en charge la numérisation de codes QR provenant de diverses sources ?

IronQR peut scanner des codes QR provenant de diverses sources, notamment des images, des PDF et des flux de caméras en direct, ce qui offre une grande flexibilité aux développeurs.

IronQR peut-il gérer des codes QR avec différentes orientations ?

Oui, IronQR est conçu pour lire avec précision les codes QR quelle que soit leur orientation, ce qui garantit des résultats de numérisation fiables.

Comment fonctionne le mode d'analyse automatique dans IronQR ?

Le mode de numérisation automatique d'IronQR détecte et lit intelligemment les codes QR sans nécessiter de saisie manuelle, ce qui rationalise le processus de numérisation.

Quelles sont les compétences en programmation requises pour utiliser IronQR pour la numérisation de codes QR ?

Des connaissances de base en programmation C# sont suffisantes pour utiliser IronQR pour la numérisation de codes QR, car la bibliothèque offre une intégration et une utilisation simples.

Existe-t-il une version d'essai d'IronQR disponible à des fins de test ?

Oui, IronQR propose une version d'essai qui permet aux développeurs de tester ses fonctionnalités et ses modes de numérisation avant de s'engager dans un achat.

Où puis-je télécharger la bibliothèque IronQR ?

La bibliothèque IronQR peut être téléchargée sur le site web d'Iron Software, où vous trouverez également de la documentation et des ressources d'assistance.

Ahmad Sohail
Développeur Full Stack

Ahmad est un développeur full-stack avec une solide fondation en C#, Python et technologies web. Il a un profond intérêt pour la construction de solutions logicielles évolutives et aime explorer comment le design et la fonctionnalité se rencontrent dans des applications du monde réel.

<...
Lire la suite
Prêt à commencer?
Nuget Téléchargements 58,270 | Version : 2026.2 vient de sortir