さまざまなスキャンモードでQRコードを読み取る方法

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

2025 年には、より多くの製品がデジタル化され、常時オンライン アクセスが可能になるにつれて、QR コードの読み取りは日常的な作業になります。 必要なデータをコンパクトな読み取り専用インプリントに保存することが標準となり、開発者はさまざまな環境でその情報を効果的に抽出する方法を必要としています。

IronQR は、それぞれ特定のユースケース向けに設計された 3 つの QR コードの読み取りオプションを提供します。

このハウツーガイドでは、3 つの方法すべてをわかりやすい例とともに説明します。 まだ確認していない場合は、画像から QR コードを読み取る方法や独自の QR コードを作成する方法に関する以前のガイドをご覧ください。

QRコードスキャンモードの理解

IronQR は、 QrScanMode列挙を通じて 3 つの強力なスキャン モードを提供します。

-自動モードQrScanMode.Auto ):機械学習検出と基本スキャンアルゴリズムの両方を組み合わせて、最高の精度と信頼性を実現します。 -基本スキャンモードのみQrScanMode.OnlyBasicScan ):QRコードがはっきりと見える場合に、従来の画像処理技術を使用して高速で信頼性の高いスキャンを実現します。 -検出モデルモードQrScanMode.OnlyDetectionModel ):機械学習を活用してQRコードの位置を検出し、座標データの抽出に最適です。

それぞれのスキャン方法を詳しく見ていきましょう。


基本スキャンモードのみ

基本スキャン モードのみが機械学習を使用せずに従来の画像処理アルゴリズムを使用します。 この方法は、QR コードがはっきりと見え、適切な位置に配置されている場合に高速かつ効率的です。 ただし、3 つの角の四角形が読み取り可能であれば、破損した QR コードでも機能します。

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

スキャン入力

破損したQRコード

保存されたテキストファイル

テキストファイル

自動スキャンモード

自動スキャン モードはデフォルト ( QrScanModeの場合) であり、最も汎用性の高いオプションです。 機械学習検出と従来のスキャン アルゴリズムを自動的に組み合わせて、さまざまな画像条件で可能な限り最良の結果を提供します。

この例では、画像が読み込まれ、 Autoモードがアクティブ化されます。 次に画像をスキャンし、見つかったQRコードをすべてリストに収集します。最後に、 resultsコレクションを調べ、各値のテキスト(この場合は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++;
}
$vbLabelText   $csharpLabel

スキャン入力

カフェのウェブサイトへのリンクが書かれたカップ

コンソールディスプレイ

IronQR で写真をスキャンすると、カフェのウェブサイトの URL が記録されます。

ウェブサイト URL のコンソール表示

検出モデルモード

検出モデル モードでは、画像内の QR コードの位置を検出するために機械学習を使用します。 この品質により、空間分析やコンピューター ビジョン アプリケーションにとって非常に貴重なものとなります。 使用する座標系の原点は(0, 0)です。

一般的に、QR スキャナーは 3 つのファインダー パターンに依存する標準のデコード アルゴリズムを使用しますが、このモデルは ID の 4 つの頂点すべてをキャプチャします。 resultオブジェクトには、位置データを取得するために反復処理するPointsコレクションが含まれています。

このコードでは、前の例のカップの写真を再利用して、画像内の位置の値の検出を示します。

ご注意この関数によって返される座標は、厳密に"ジグザグ"の順序で格納されます: 左上、右上、左下、そして最後に右下

: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}");
        }
    }
}
$vbLabelText   $csharpLabel

ラベル付きカップ画像

ラベル付きカップ

ラベル付きコンソール

ラベル付きコンソール

スキャン方法の比較

機能( QRScanMode基本スキャン( OnlyBasicScan自動スキャン( Auto検出モデル ( OnlyDetectionModel )
出力デコードされたテキスト(値)デコードされたテキスト(値)座標(ポイント)
アルゴリズム伝統的なもののみハイブリッド(ML + 従来型)機械学習のみ
集中スピード読みやすさ/検索性ローカリゼーション / コンピュータービジョン

結論

IronQR の 3 つのスキャン モードは、あらゆる QR コード読み取りシナリオに柔軟に対応します。

-自動スキャン:一般的な使用において最高の精度と信頼性 -基本スキャン:高画質画像のためのスピードと効率 -検出モデル:空間アプリケーションの位置認識

それぞれの方法の長所を理解することで、特定の要件に合わせて QR コード読み取り実装を最適化できます。 包括的なデータ抽出、超高速処理、正確な位置検出など、どのようなニーズにも対応できる IronQR が役立ちます。

その他の例と詳細な API 情報については、 IronQR のドキュメントを参照するか、 GitHub のコード例を参照してください。

よくある質問

QR コードの読み取りに使用できるさまざまなスキャン モードは何ですか?

IronQR は、自動、手動、バッチスキャンなどのさまざまなスキャンモードを提供し、さまざまなシナリオで QR コードを効率的に読み取ります。

C# プロジェクトで QR コード スキャンを実装するにはどうすればよいですか?

さまざまなスキャン モードで QR コードを読み取るための使いやすい方法を提供する IronQR ライブラリを統合することで、C# プロジェクトに QR コード スキャンを実装できます。

QR コードスキャンに IronQR を使用する利点は何ですか?

IronQR は、高精度、高速処理を提供し、さまざまなスキャン モードをサポートしているため、C# プロジェクトでの QR コード スキャンの多目的な選択肢となります。

IronQR を使用して複数の QR コードを一度に読み取ることは可能ですか?

はい、IronQR はバッチスキャンモードをサポートしており、複数の QR コードを同時に読み取って効率を高めることができます。

IronQR はさまざまなソースからの QR コードのスキャンをサポートしていますか?

IronQR は、画像、PDF、ライブカメラフィードなど、さまざまなソースから QR コードをスキャンできるため、開発者に柔軟性を提供します。

IronQR は方向の異なる QR コードを処理できますか?

はい、IronQR は QR コードの向きに関係なく正確に読み取るように設計されており、信頼性の高いスキャン結果を保証します。

IronQR の自動スキャンモードはどのように機能しますか?

IronQR の自動スキャン モードでは、手動入力を必要とせずに QR コードをインテリジェントに検出して読み取るため、スキャン プロセスが効率化されます。

QR コードスキャンに IronQR を使用するには、どのようなプログラミング スキルが必要ですか?

ライブラリは簡単な統合と使用方法を提供するため、QR コード スキャンに IronQR を使用するには、C# プログラミングの基本的な知識があれば十分です。

テスト用に利用できる IronQR の試用版はありますか?

はい、IronQR は試用版を提供しており、開発者は購入前に機能やスキャン モードをテストできます。

IronQR ライブラリはどこからダウンロードできますか?

IronQR ライブラリは Iron Software の Web サイトからダウンロードできます。また、この Web サイトにはドキュメントやサポート リソースも用意されています。

Ahmad Sohail
フルスタックデベロッパー

Ahmadは、C#、Python、およびウェブ技術に強い基盤を持つフルスタック開発者です。彼はスケーラブルなソフトウェアソリューションの構築に深い関心を持ち、デザインと機能が実際のアプリケーションでどのように融合するかを探求することを楽しんでいます。

Iron Softwareチームに参加する前、Ahmadは自動化プロジェクトやAPI統合に取り組み、パフォーマンスの向上と開発者の体験向上に注力してきました。

彼の自由時間には、UI/UXのアイデアを試したり、オープンソースツールに貢献したり、時折テクニカルライティングやドキュメンテーションに取り組んで、複雑なトピックを理解しやすくすることを目指しています。

準備はできましたか?
Nuget ダウンロード 55,860 | バージョン: 2025.12 リリース