IRONSOFTWAREHOME

如何使用不同的扫描模式读取二维码

Ahmad Sohail
Ahmad Sohail
Updated: 2026年6月29日

到 2025 年,随着越来越多的产品走向数字化和始终在线访问,读取二维码将成为一项常规任务。 将必要数据存储在紧凑的只读映像中已成为标准做法,开发人员需要有效的方法在不同的环境中提取这些信息。

IronQR 为二维码提供 3 种读取选项,每种选项都针对特定的使用场景而设计。

本操作指南将通过清晰的示例解释这三种方法。 如果您还没有看过,请查看之前关于从图像中读取二维码或编写自己的二维码的指南。

了解二维码扫描模式

IronQR 通过 QrScanMode 枚举提供三种强大的扫描模式:

  • 自动模式 (QrScanMode.Auto):结合机器学习检测和基础扫描算法,以实现最大精度和可靠性
  • 仅基础扫描模式 (QrScanMode.OnlyBasicScan):在QR码清晰可见时,使用传统图像处理技术进行快速、可靠的扫描
  • 检测模型模式 (QrScanMode.OnlyDetectionModel):利用机器学习检测QR码位置,适合提取坐标数据

让我们详细了解一下每种扫描方法。


仅基本扫描模式

只有基本扫描模式使用传统的图像处理算法,而没有使用机器学习。 当二维码清晰可见且位置恰当时,这种方法快速高效; 但是,如果三个角上的方块清晰可见,即使二维码损坏,它仍然可以正常工作。

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);

扫描输入

损坏的二维码

已保存的文本文件

文本文件

自动扫描模式

自动扫描模式是默认模式(用于 QrScanMode)并且是最通用的可用选项。 它自动将机器学习检测与传统扫描算法相结合,从而在各种图像条件下提供最佳结果。

示例显示了加载的图像并激活 Auto 模式。 然后它扫描图像并将找到的每个QR码收集到列表中。最后,它遍历 results 集合,并在控制台中打印每个值的文本(在本例中,仅打印URL)。

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++;
}

扫描输入

带有咖啡馆网站链接的杯子

控制台显示

通过 IronQR 扫描照片后,咖啡馆网站的 URL 会被记录下来。

网站URL的控制台显示

检测模型模式

检测模型模式专门利用机器学习技术来检测图像中的二维码位置。 这一特性使其在空间分析和计算机视觉应用中具有不可估量的价值。 它使用的坐标系原点位于 (0, 0)

通常,QR扫描仪使用标准解码算法依赖三个查找模式,这个模型捕捉ID的所有四个顶点。 result 对象包含一个 Points 集合,您可以遍历该集合以检索位置信息。

该代码重用了上一个示例中的杯子照片,以演示如何检测图像中的位置值。

请注意: 此函数返回的坐标以严格的"之字形"顺序存储:左上,右上,左下,最终右下
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}");
        }
    }
}

带标签的杯子图片

带标签的杯子

带标签的控制台

标签控制台

扫描方法比较

功能( QRScanMode基本扫描( OnlyBasicScan扫描)自动扫描( Auto检测模型( OnlyDetectionModel检测模型)
输出解码后的文本(值)解码后的文本(值)坐标(点)
算法仅限传统方式混合型(机器学习+传统)仅限机器学习
重点速度可读性/检索定位/计算机视觉

结论

IronQR的三种扫描模式可灵活应对任何二维码读取场景:

-自动扫描:适用于一般用途,具有最高的准确性和可靠性 -基本扫描:速度快、效率高,图像质量高。 -检测模型:空间应用的位置感知

通过了解每种方法的优势,您可以根据自身需求优化二维码读取实现。 无论您需要全面的数据提取、闪电般的处理速度还是精确的位置检测,IronQR 都能满足您的需求。

有关更多示例和详细的 API 信息,请访问IronQR 文档或浏览GitHub 上的代码示例

常见问题解答

读取二维码有哪些不同的扫描模式?

IronQR 提供自动、手动和批量扫描等多种扫描模式,可在不同场景下高效读取 QR 码。

如何在 C# 项目中实现二维码扫描?

您可以通过集成 IronQR 库在 C# 项目中实现 QR 码扫描,该库提供了易于使用的方法来读取具有不同扫描模式的 QR 码。

using IronQR 进行二维码扫描有哪些好处?

IronQR 具有精度高、处理速度快的特点,并支持不同的扫描模式,是 C# 项目中二维码扫描的多功能选择。

是否可以使用 IronQR 同时读取多个二维码?

是的,IronQR 支持批量扫描模式,允许您同时读取多个二维码以提高效率。

IronQR 是否支持扫描各种来源的二维码?

IronQR 可以扫描各种来源的 QR 码,包括图像、PDF 和实时摄像机画面,为开发人员提供了灵活性。

IronQR 能否处理不同方向的 QR 代码?

是的,IronQR 的设计可以准确读取 QR 代码,无论其方向如何,确保可靠的扫描结果。

IronQR 中的自动扫描模式如何工作?

IronQR 的自动扫描模式可智能检测和读取二维码,无需手动输入,简化了扫描流程。

using IronQR 进行二维码扫描需要哪些编程技能?

using IronQR 进行二维码扫描只需具备基本的 C# 编程知识即可,因为该库提供了直接的集成和使用方法。

是否有 IronQR 试用版可供测试?

是的,IronQR 提供试用版,允许开发人员在承诺购买之前测试其功能和扫描模式。

在哪里可以下载 IronQR 库?

IronQR 库可从 Iron Software 网站下载,您还可以在该网站找到文档和支持资源。

Ahmad Sohail
全栈开发者

Ahmad 是一名全栈开发人员,拥有扎实的 C#、Python 和 Web 技术基础。他对构建可扩展的软件解决方案深感兴趣,并喜欢探索设计和功能在实际应用中如何结合。

...
阅读更多

准备开始了吗?

Nuget Downloads 74,386版本:2026.9刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronQR
nuget.org/packages/IronQR/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索“IronQR”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

  1. 下载并解压IronQR到您的解决方案目录中的~/Libs等位置
  2. 在Visual Studio解决方案资源管理器中,右键单击引用。选择浏览,“IronQR.dll”

许可证从$999开始

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户