如何使用不同的掃描模式讀取二維碼
到 2025 年,隨著越來越多的產品走向數位化和始終在線訪問,讀取二維碼將成為一項常規任務。 將必要資料儲存在緊湊的唯讀映像中已成為標準做法,開發人員需要有效的方法在不同的環境中提取這些資訊。
IronQR 為二維碼提供 3 種讀取選項,每個選項都針對特定的使用情境而設計。
本操作指南將透過清晰的範例解釋這三種方法。 如果您還沒有看過,請查看先前關於從圖像中讀取二維碼或編寫自己的二維碼的指南。
如何使用不同的掃描模式讀取二維碼
- 下載 C# 庫,即可使用進階掃描選項讀取二維碼
- 載入目標圖片文件
- 初始化
QrImageInput,傳入影像和所需的QrScanMode參數。 - 實例化
QrReader類別並將輸入物件傳遞給Read方法。 - 檢索結果以存取解碼後的
Value文本,或遍歷Points陣列以取得座標資料。
了解二維碼掃描模式
IronQR 透過QrScanMode枚舉提供三種強大的掃描模式:
-自動模式( QrScanMode.Auto ):結合機器學習偵測和基本掃描演算法,以實現最高的準確性和可靠性。 -僅基本掃描模式( QrScanMode.OnlyBasicScan ):當二維碼清晰可見時,使用傳統的影像處理技術進行快速可靠的掃描。 -偵測模型模式( QrScanMode.OnlyDetectionModel ):利用機器學習技術偵測二維碼位置,非常適合擷取座標數據
讓我們詳細了解每種掃描方法。
僅基本掃描模式
只有基本掃描模式使用傳統的影像處理演算法,而沒有使用機器學習。 當二維碼清晰可見且位置恰當時,這種方法快速且有效率; 但是,如果三個角落上的方塊清晰可見,即使二維碼損壞,它仍然可以正常工作。
:path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-basic.csusing 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);掃描輸入

已儲存的文字文件

自動掃描模式
自動掃描模式是預設模式(適用於QrScanMode ),也是功能最全面的選項。 它會自動將機器學習偵測與傳統掃描演算法結合,從而在各種影像條件下提供最佳結果。
此範例展示如何載入影像並啟動Auto模式。 然後,它掃描圖像,並將找到的每個二維碼收集到一個列表中。最後,它遍歷results集合,並將每個值對應的文字列印到控制台(在本例中,只有 URL)。
:path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-auto.csusing 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++;
}掃描輸入

控制台顯示
透過 IronQR 掃描照片後,咖啡館網站的 URL 會被記錄下來。

檢測模型模式
偵測模型模式專門利用機器學習技術來偵測影像中的二維碼位置。 這項特性使其在空間分析和電腦視覺應用上具有不可估量的價值。 它所使用的座標係原點位於(0, 0) 。
一般而言,QR 掃描器使用依賴三個查找圖案的標準解碼演算法,該模型捕獲 ID 的所有四個頂點。 result物件包含一個Points集合,您可以透過遍歷該集合來檢索位置資料。
程式碼重用了上一個範例中的杯子照片,以演示如何偵測影像中的位置值。
此函數傳回的座標以嚴格的"之字形"順序儲存:左上、右上、左下,最後是右下。
:path=/static-assets/qr/content-code-examples/how-to/read-qr-codes-with-scan-modes-detection-model.csusing 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}");
}
}
}帶標籤的杯子圖片

標籤的控制台

掃描方法比較
功能( QRScanMode ) | 基本掃描( OnlyBasicScan掃描) | 自動掃描( Auto ) | 檢測模型( OnlyDetectionModel檢測模型) |
|---|---|---|---|
| 輸出 | 解碼後的文字(值) | 解碼後的文字(值) | 座標(點) |
| 演算法 | 僅限傳統方式 | 混合型(機器學習+傳統) | 僅限機器學習 |
| 重點 | 速度 | 可讀性/檢索 | 定位/電腦視覺 |
結論
IronQR的三種掃描模式可靈活應對任何二維碼讀取情境:
-自動掃描:適用於一般用途,具有最高的準確性和可靠性 -基本掃描:速度快、效率高,影像品質高。 -偵測模型:空間應用的位置感知
透過了解每種方法的優勢,您可以根據自身需求最佳化二維碼讀取實作。 無論您需要全面的資料擷取、閃電般的處理速度或精確的位置偵測,IronQR 都能滿足您的需求。
有關更多範例和詳細的 API 信息,請訪問IronQR 文件或瀏覽GitHub 上的程式碼範例。
常見問題解答
讀取二維碼有哪些不同的掃描模式?
IronQR 提供自動、手動和大量掃描等多種掃描模式,可在不同場景下有效讀取二維碼。
如何在C#專案中實現二維碼掃描?
您可以透過整合 IronQR 庫在 C# 專案中實現二維碼掃描,該程式庫提供了易於使用的讀取二維碼的方法,並支援不同的掃描模式。
使用 IronQR 進行二維碼掃描有哪些好處?
IronQR 具有高精度、快速處理能力,並支援不同的掃描模式,使其成為 C# 專案中二維碼掃描的多功能選擇。
IronQR 是否可以同時讀取多個二維碼?
是的,IronQR 支援批次掃描模式,可同時讀取多個二維碼,進而提高效率。
IronQR是否支援掃描來自不同來源的二維碼?
IronQR 可以掃描來自各種來源的二維碼,包括影像、PDF 和即時攝影機畫面,為開發人員提供了靈活性。
IronQR 能否處理不同方向的二維碼?
是的,IronQR 的設計旨在準確讀取任何方向的二維碼,確保可靠的掃描結果。
IronQR的自動掃描模式是如何運作的?
IronQR 的自動掃描模式可以智慧地偵測和讀取二維碼,無需手動輸入,從而簡化掃描過程。
使用 IronQR 進行二維碼掃描需要哪些程式設計技能?
具備 C# 程式設計的基礎知識即可使用 IronQR 進行二維碼掃描,因為該程式庫提供了簡單直接的整合和使用方式。
IronQR是否有可供測試的試用版?
是的,IronQR 提供試用版,讓開發者在購買前測試其功能和掃描模式。
我可以在哪裡下載IronQR庫?
您可以從 Iron Software 網站下載 IronQR 庫,您也可以在該網站上找到文件和支援資源。






