So lesen Sie QR-Codes mit verschiedenen Scan-Modi

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

Das Lesen von QR-Codes ist im Jahr 2025 zu einer Routineaufgabe geworden, da immer mehr Produkte digitalisiert werden und jederzeit online verfügbar sind. Die Speicherung notwendiger Daten in kompakten, schreibgeschützten Imprints ist heute Standard, und Entwickler benötigen effektive Möglichkeiten, diese Informationen in verschiedenen Umgebungen zu extrahieren.

IronQR bietet 3 Leseoptionen für QR-Codes, die jeweils für bestimmte Anwendungsfälle konzipiert sind.

In diesem Leitfaden werden alle drei Methoden anhand von anschaulichen Beispielen erläutert. Wenn Sie es noch nicht ausprobiert haben, werfen Sie einen Blick auf den vorherigen Leitfaden zum Lesen von QR-Codes aus Bildern oder zum Schreiben eines eigenen QR-Codes.

Verständnis der QR-Code-Scan-Modi

IronQR bietet drei leistungsstarke Scan-Modi durch die QrScanMode Aufzählung:

  • Automodus (QrScanMode.Auto): kombiniert maschinelle Erkennung und grundlegende Scan-Algorithmen für maximale Genauigkeit und Zuverlässigkeit
  • Nur einfacher Scanmodus (QrScanMode.OnlyBasicScan): verwendet herkömmliche Bildverarbeitungstechniken für schnelles, zuverlässiges Scannen, wenn QR-Codes deutlich sichtbar sind
  • Detection Model Mode (QrScanMode.OnlyDetectionModel): Nutzt maschinelles Lernen zur Erkennung von QR-Code-Positionen, ideal für die Extraktion von Koordinatendaten

Schauen wir uns die einzelnen Scan-Methoden im Detail an.


Nur Basis-Scan-Modus

Nur der Basic Scan-Modus verwendet traditionelle Bildverarbeitungsalgorithmen ohne maschinelles Lernen. Diese Methode ist schnell und effizient, wenn die QR-Codes gut sichtbar und gut positioniert sind; sie funktioniert jedoch auch bei beschädigten QRs, wenn die drei Eckquadrate lesbar sind.

: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

Eingabe scannen

Beschädigter QR-Code

Gespeicherte Textdatei

Textdatei

Auto-Scan-Modus

Der Auto-Scan-Modus ist die Standardeinstellung (für QrScanMode) und die vielseitigste verfügbare Option. Es kombiniert automatisch maschinelle Erkennung mit traditionellen Scan-Algorithmen, um die bestmöglichen Ergebnisse für eine Reihe von Bildbedingungen zu liefern.

Das Beispiel zeigt, wie ein Bild geladen wird und der Auto-Modus aktiviert wird. Anschließend wird das Bild gescannt und jeder gefundene QR-Code in einer Liste gesammelt. Schließlich wird die Sammlung Ergebnisse durchlaufen und der Text jedes Wertes auf der Konsole ausgegeben (in diesem Fall nur die 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

Eingabe scannen

Cup mit einem Link zur Cafe-Website

Konsolenanzeige

Die URL der Website des Cafés wird nach dem Scannen des Fotos über IronQR protokolliert.

Konsolenanzeige der Website URl

Erkennungsmodell-Modus

Der Modus "Erkennungsmodell" nutzt maschinelles Lernen speziell für die Erkennung von QR-Code-Positionen in Bildern. Diese Qualität macht sie unschätzbar wertvoll für räumliche Analysen und Computer-Vision-Anwendungen. Das verwendete Koordinatensystem hat den Ursprung bei (0, 0).

Im Allgemeinen verwenden QR-Scanner Standard-Dekodierungsalgorithmen, die auf drei Suchmustern beruhen; dieses Modell erfasst alle vier Eckpunkte der ID. Das Result-Objekt enthält eine Points-Sammlung, durch die man iteriert, um die Positionsdaten abzurufen.

Der Code verwendet das Tassenfoto aus dem vorherigen Beispiel, um die Erkennung von Positionswerten innerhalb des Bildes zu demonstrieren.

Hinweis:Die Koordinaten, die von dieser Funktion zurückgegeben werden, werden in einer strikten "Zick-Zack"-Folge gespeichert: oben-links, oben-rechts, unten-links und schließlich unten-rechts

: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

Beschriftete Tassenabbildung

Becher mit Etikett

Beschriftete Konsole

Beschriftete Konsole

Vergleich von Scanning-Methoden

Funktion (QRScanMode) Basic Scan (NurBasicScan) Auto-Scan (Auto) Erkennungsmodell (OnlyDetectionModel)
Ausgabe Dekodierter Text (Wert) Dekodierter Text (Wert) Koordinaten (Punkte)
Algorithmus Nur traditionell Hybrid (ML + Traditionell) Nur maschinelles Lernen
Schwerpunkt Geschwindigkeit Lesbarkeit / Auffindbarkeit Lokalisierung / Computer Vision

Abschluss

Die drei Scan-Modi von IronQR bieten Flexibilität für jedes QR-Code-Leseszenario:

  • Auto Scan: Maximale Genauigkeit und Zuverlässigkeit für den allgemeinen Gebrauch
  • Basic Scan: Geschwindigkeit und Effizienz für hochwertige Bilder
  • Erkennungsmodell: Positionsbewusstsein für räumliche Anwendungen

Wenn Sie die Stärken der einzelnen Methoden verstehen, können Sie Ihre QR-Code-Leseimplementierung für Ihre spezifischen Anforderungen optimieren. Ganz gleich, ob Sie eine umfassende Datenextraktion, eine blitzschnelle Verarbeitung oder eine präzise Positionsbestimmung benötigen, IronQR hat die richtige Lösung für Sie.

Weitere Beispiele und detaillierte API-Informationen finden Sie in der IronQR-Dokumentation oder in den Codebeispielen auf GitHub.

Häufig gestellte Fragen

Welche verschiedenen Scan-Modi gibt es für das Lesen von QR-Codes?

IronQR bietet verschiedene Scan-Modi wie automatisches, manuelles und Batch-Scannen, um QR-Codes in verschiedenen Szenarien effizient zu lesen.

Wie kann ich das Scannen von QR-Codes in einem C#-Projekt implementieren?

Sie können das Scannen von QR-Codes in einem C#-Projekt implementieren, indem Sie die IronQR-Bibliothek integrieren, die benutzerfreundliche Methoden zum Lesen von QR-Codes mit verschiedenen Scan-Modi bietet.

Welche Vorteile hat die Verwendung von IronQR für das Scannen von QR-Codes?

IronQR bietet hohe Genauigkeit, schnelle Verarbeitung und unterstützt verschiedene Scan-Modi, was es zu einer vielseitigen Wahl für das Scannen von QR-Codes in C#-Projekten macht.

Ist es möglich, mit IronQR mehrere QR-Codes gleichzeitig zu lesen?

Ja, IronQR unterstützt den Batch-Scan-Modus, mit dem Sie mehrere QR-Codes gleichzeitig lesen können, um die Effizienz zu steigern.

Unterstützt IronQR das Scannen von QR-Codes aus verschiedenen Quellen?

IronQR kann QR-Codes aus verschiedenen Quellen scannen, darunter Bilder, PDFs und Live-Kameraübertragungen, was den Entwicklern Flexibilität bietet.

Kann IronQR QR-Codes mit unterschiedlichen Ausrichtungen verarbeiten?

Ja, IronQR wurde entwickelt, um QR-Codes unabhängig von ihrer Ausrichtung genau zu lesen und zuverlässige Scanergebnisse zu gewährleisten.

Wie funktioniert der automatische Scan-Modus in IronQR?

Der automatische Scanmodus in IronQR erkennt und liest QR-Codes auf intelligente Weise, ohne dass manuelle Eingaben erforderlich sind, und rationalisiert so den Scanprozess.

Welche Programmierkenntnisse sind erforderlich, um IronQR für das Scannen von QR-Codes zu verwenden?

Grundlegende Kenntnisse der C#-Programmierung reichen aus, um IronQR für das Scannen von QR-Codes zu verwenden, da die Bibliothek eine einfache Integration und Verwendung bietet.

Gibt es eine Testversion von IronQR, die ich ausprobieren kann?

Ja, IronQR bietet eine Testversion an, mit der Entwickler die Funktionen und Scan-Modi testen können, bevor sie sich zum Kauf verpflichten.

Wo kann ich die IronQR-Bibliothek herunterladen?

Die IronQR-Bibliothek kann von der Iron Software-Website heruntergeladen werden, auf der Sie auch Dokumentations- und Support-Ressourcen finden.

Ahmad Sohail
Full-Stack-Entwickler

Ahmad ist ein Full-Stack-Entwickler mit einer soliden Grundlage in C#, Python und Webtechnologien. Er hat ein großes Interesse am Aufbau skalierbarer Softwarelösungen und genießt es, zu erkunden, wie Design und Funktionalität in realen Anwendungen aufeinandertreffen.

Bevor er dem Iron Software Team beitrat, arbeitete ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 58,270 | Version: 2026.2 gerade veröffentlicht