IRONSOFTWAREHOME

IronBarcodeでC#の読み取り速度を調整する方法

Curtis Chau
Curtis Chau
Updated: 2026年4月22日

IronBarcode は 4 つの読み取り速度オプション(Balanced がほとんどのアプリケーションでの推奨開始点です。

はじめに

大量の BarCode セットを読み取る際には正確さが不可欠ですが、リソースの割り当てと処理効率も同様に重要な考慮事項です。 入力画像の品質によって、バーコードリーダーがどのように処理すべきかが決まります。鮮明な画像の場合は前処理を省略し、劣化したバーコードの場合はよりリソース集約的なオプションを使用して精度を向上させます。

IronBarcodeは処理速度と精度レベルを柔軟に選択できるため、バーコード読み取りプロセスのあらゆる側面を制御することができます。 入力イメージと利用可能なリソースに基づいて決定することができます。 より高度なバーコード読み取りシナリオについては、包括的なバーコード読み取りチュートリアルを参照してください。

この記事では、さまざまなシナリオに最適な読み取り速度を選択するためのガイドラインを提供します。 QRコードのサンプルを使用し、読み取り速度の変更が結果にどのように影響するかを実演します。 QRコードに特化して作業している場合は、C# QR Code Generator tutorial でテストサンプルを作成してください。

クイックスタート:バランスの取れた速度でBarCodeを読み取る

IronBarcode の BarcodeReaderOptions を使用して、スキャンの Speed レベルを瞬時に設定してください。 この例は、迅速で信頼性のある結果を得るために Balanced 設定を使用してバーコードを迅速に読み取る方法を示しています。

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. 2このコード スニペットをコピーして実行します。

    var results = IronBarCode.BarcodeReader.Read("path/to/image.png", new IronBarCode.BarcodeReaderOptions { Speed = IronBarCode.ReadingSpeed.Balanced });
    C#
  3. 3実際の環境でテストするためにデプロイする

    今日プロジェクトで IronBarcode を使い始めましょう無料トライアル
    arrow pointer

異なる読み取り速度のオプションは何ですか?

IronBarcode は 4 つの ReadingSpeed オプションを提供します: Detailed、そして ExtremeDetail。 ライブラリの機能を実証するために、劣化したBarCode画像と鮮明な画像を含むサンプルセットを使用して、各オプションを検証します。 サポートされているフォーマットの完全なリストについては、サポートされているバーコードフォーマットのページをご覧ください。

.NETベンチマークライブラリを使用して処理時間とメモリ使用量を測定し、各オプションの比較と各読み取り速度の理想的なシナリオを示します。 ベンチマークコードと、劣化したBarCodeの読み取り成功数をカウントする簡単な方法を実演します。 リーダーオプションの設定の詳細については、BarCodeリーダー設定例をご覧ください。

高速化オプションはいつ使用すべきですか?

Faster オプションは、リソースを最小限に抑えて最も高速なバーコード読み取りを提供しますが、精度が低下します。 このプロセスは画像の前処理を省略するため、入力画像がすでにシャープで鮮明な場合に最適です。

この例では、Speed プロパティを ReadingSpeed.Faster に設定し、バーコードのディレクトリをインポートし、検出されたバーコードをその値、タイプ、および各画像の数を表示します。 さまざまな画像形式から BarCode を読み取る方法については、画像からバーコードを読み取るのガイドを参照してください。

using IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;

var optionsFaster = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Faster
};

// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";

// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");

int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
    // Read the barcode
    var results = BarcodeReader.Read(file, optionsFaster);

    if (results.Any())
    {
        Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
        foreach (var result in results)
        {
            Console.WriteLine($"  Value: {result.Value}, Type: {result.BarcodeType}");
            countFaster++;
        }
    }
    else
    {
        Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
    }
}

stopwatch.Stop();

// Print number of images the barcode reader could decode
Console.WriteLine($"Faster could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");

Faster オプションは、430 個中 146 個のバーコード結果を25秒で検出し、33.95% の精度を達成しました。 この方法は高速ですが、画像がきれいな状態でなければ適していません。 1つの画像で複数の BarCode を扱う場合は、reading multiple barcodes のガイドを参考にして、最適な設定を行ってください。

なぜBalancedが推奨される速度オプションなのか

Balanced オプションは、精度と読み取りパフォーマンスのバランスを取ります。 IronBarcodeは、バーコード領域を明確にするために軽い画像処理を適用し、検出と読み取りを容易にします。 最近の画像では、軽い処理で正確な結果が得られることが多いため、この設定を推奨します。

同じ画像を使用して、Balanced が出力結果にどのように影響するかを示しましょう。 非同期処理については、async and multithreading with IronBarcodeのガイドをご覧ください。

using IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;

var optionsFaster = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced
};

// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";

// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");

int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
    // Read the barcode
    var results = BarcodeReader.Read(file, optionsFaster);

    if (results.Any())
    {
        Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
        foreach (var result in results)
        {
            Console.WriteLine($"  Value: {result.Value}, Type: {result.BarcodeType}");
            countFaster++;
        }
    }
    else
    {
        Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
    }
}

stopwatch.Stop();

// Print number of images the barcode reader could decode
Console.WriteLine($"Balanced could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");

Balanced オプションは、430 個中 237 個のバーコード結果を43秒で検出しました。 それは 55.11% の精度を提供し、Faster からの大幅な改善で、わずかな時間の増加のみです。 このオプションは、メモリと速度の効率的なバランスを保ち、大多数の状況に理想的で推奨される開始ポイントです。 このバランスの取れたアプローチは、適切な画像前処理技術によって特に効果的に機能します。

詳細なスピードオプションはいつ必要ですか?

画像が非常にぼやけたり歪んだりしていて、Balanced が明確な結果を出せない場合は、Detailed オプションを使用してください。 バーコード領域を明確にし、デジタルノイズを減らして検出を向上させるために、中程度の前処理を適用します。 ひどく劣化した画像については、画像補正ガイドを参照してください。このガイドでは、さまざまな前処理テクニックについて説明しています。

Detailed 設定を適用し、その効果を出力で観察しましょう。

using IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;

var optionsFaster = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Detailed
};

// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";

// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");

int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
    // Read the barcode
    var results = BarcodeReader.Read(file, optionsFaster);

    if (results.Any())
    {
        Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
        foreach (var result in results)
        {
            Console.WriteLine($"  Value: {result.Value}, Type: {result.BarcodeType}");
            countFaster++;
        }
    }
    else
    {
        Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
    }
}

stopwatch.Stop();

// Print number of images the barcode reader could decode
Console.WriteLine($"Detailed could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");

Detailed オプションは、5分30秒で430個中237個のバーコード結果を検出しました。 劣化の激しい BarCode での成功率は 55.11%で、その精度の高さを実証しています。 ただし、処理時間が大幅に増加するため、このオプションは劣化した BarCode 画像専用に使用する必要があります。 不完全な BarCode を扱う場合は、imperfect barcode handling example を参考にしてください。

どのような状況で極限まで詳細なスピードが要求されますか?

ExtremeDetail 設定は、バーコード画像に対して重い処理を適用し、読み取りパフォーマンスを大幅に低下させます。 このCPU負荷の高いオプションは、1つの入力ファイル内で複数の不鮮明または不鮮明なBarCodeをスキャンする場合に最適です。他のオプションで望ましい結果が得られない場合の最後の手段として使用してください。 大量処理のシナリオでは、PDF ファイルから BarCode を読み取ります。PDF ファイルにはページごとに複数のバーコードが含まれていることがよくあります。

ExtremeDetail 設定を適用し、その影響を観察しましょう。

using IronBarCode;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;

var optionsFaster = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail
};

// Directory containing PDF files
string folderPath = @"YOUR_FILE_PATH";

// Get all PDF files in the directory
var pdfFiles = Directory.GetFiles(folderPath, "*.jpg");

int countFaster = 0;
var stopwatch = Stopwatch.StartNew();
foreach (var file in pdfFiles)
{
    // Read the barcode
    var results = BarcodeReader.Read(file, optionsFaster);

    if (results.Any())
    {
        Console.WriteLine($"Barcode(s) found in: {Path.GetFileName(file)}");
        foreach (var result in results)
        {
            Console.WriteLine($"  Value: {result.Value}, Type: {result.BarcodeType}");
            countFaster++;
        }
    }
    else
    {
        Console.WriteLine($"No barcode found in: {Path.GetFileName(file)}");
    }
}

stopwatch.Stop();

// Print number of images the barcode reader could decode
Console.WriteLine($"ExtremeDetail could read = {countFaster} out of {pdfFiles.Length} in {stopwatch.ElapsedMilliseconds}ms");

ExtremeDetail オプションは、およそ10分で430個中313個のバーコード画像を識別しました。 著しく劣化したBarCodeに対して72.79%という驚異的な精度を達成していますが、リソースの消費量が多いため、最後の手段としてのみ適しています。 このオプションを使用する前に、画像の前処理を検討してください。

異なる速度はどのように比較されますか?

モードバーコードが見つかりました平均時ファイルあたりの時間GC圧力精度の向上
より速く147/430(33.95%)25秒0.058秒高(第2世代:177K)Baseline
バランスのとれた237/430(55.11%)43秒0.1秒高(第2世代:151K)+62.32% 対 Faster
詳細237/430(55.11%)5.50分0.767秒非常に高い (Gen2: 297K)+0% vs バランス
エクストリームディテール313/430(72.79%)10.14分1.414秒エクストリーム(第2世代:474万)+32.08% 対 詳細

自分のアプリケーションに適した速度を選択するにはどうすればよいですか?

上記の比較に基づき、Faster 設定から始め、ExtremeDetail を通じて進むことで、重要な出力の違いを識別します。 ほとんどのシナリオでは、Balanced がすべてを適切に処理します。 非常に歪んだ画像には DetailedExtremeDetail のみを使用してください。 薄いバーコードや低品質のバーコードには、検出感度を高めるために、速度設定を MinScanLines = 1 と組み合わせてください。

DetailedExtremeDetail は中程度および重度の処理を適用しますが、時にはプロセスを分割する方が効率的です - バーコード読み取りの前に画像フィルターを手動で適用し、単一プロセスを使用するのではなく。 画像の前処理の詳細については、こちらのガイドを参照してください。

どの速度設定が私のユースケースにマッチしますか?

FasterからDetailed+ExtremeDetailのオプションまで、画質に基づくサンプリング速度選択のための決定木

よくある質問

利用可能な4つのバーコード読み取り速度のオプションは何ですか?

IronBarcodeは4つのReadingSpeedオプションを提供しています:Faster、Balanced、Detailed、ExtremeDetailです。各オプションは、処理速度と精度の異なるバランスを提供し、Balancedは、ほとんどのアプリケーションの出発点として推奨されています。

BarCode をスキャンする際の読み取り速度の設定方法を教えてください。

IronBarcodeのBarcodeReaderOptionsクラスを使って読み取り速度を設定することができます。新しいBarcodeReaderOptionsオブジェクトを作成し、Speedプロパティに希望のReadingSpeed値(Faster、Balanced、Detailed、ExtremeDetail)を設定し、Readメソッドに渡すだけです。

私のアプリケーションには、どの読解速度オプションを使用すればよいですか?

IronBarcodeは、ほとんどのアプリケーションでバランス速度設定から始めることをお勧めします。高品質で鮮明なバーコード画像がある場合は、Fasterモードを使用することができます。劣化した画像や品質の低い画像の場合は、精度を高めるためにDetailedまたはExtremeDetailモードの使用を検討してください。

読解速度の違いによるトレードオフとは?

IronBarcodeの読み取り速度は、処理速度と精度のトレードオフです。Fasterモードは画像を素早く処理しますが、画質の悪い画像ではバーコードを見逃す可能性があります。ExtremeDetailモードは最高の精度を提供しますが、より多くの処理時間とメモリリソースを必要とします。

異なる速度設定で複数のバーコード形式を読み取ることはできますか?

はい、IronBarcodeは全ての速度設定でQRコードを含む様々なバーコードフォーマットの読み取りをサポートしています。速度設定は処理方法に影響しますが、読み取れるバーコードの種類を制限するものではありません。完全なリストはサポートされているバーコードフォーマットのページをご覧ください。

画質はどのように読書速度に影響しますか?

画像の品質はIronBarcodeのスピード選択に直接影響します。鮮明で高品質なバーコード画像は、Fasterモードで効率的に処理できます。劣化した、ぼやけた、または低コントラストの画像は、正確なバーコード検出と読み取りを確実にするために、DetailedまたはExtremeDetailモードが必要です。

速度オプションを使用して BarCode を読み取るための最小限のワークフローを教えてください。

IronBarcodeの最小ワークフローは5つのステップで構成されています:1) C#ライブラリのダウンロード、2) BarCodeReaderOptionsを使用して読み取り速度を設定、3) 画像パスを使用してReadメソッドを呼び出し、4) バーコード値を抽出して印刷、5) 異なる速度間のパフォーマンストレードオフを評価。

読む速度の違いによるパフォーマンスへの影響を測定するにはどうすればよいですか?

IronBarcodeの異なる読み取り速度でのパフォーマンスは、.NETベンチマークライブラリを使用して測定し、処理時間とメモリ使用量を追跡することができます。これは、特定のユースケースとリソースの制約に最適な速度設定を特定するのに役立ちます。

What is the impact of applying heavy processing in the ExtremeDetail setting?

The ExtremeDetail setting significantly lowers reading performance and increases CPU usage due to intensive image preprocessing. It can recover certain barcodes more effectively than other settings, particularly in highly degraded images.

Which barcode reading speed setting should I use for high-volume processing?

For high-volume processing with clear, high-quality images, the Faster setting is optimal due to its speed and low resource consumption. However, it's important to test it against your specific data set to ensure it meets your needs.

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

準備はできましたか?

Nuget Downloads 2,422,100バージョン:2026.9リリースされたばかり

あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. 「参照」を選択して「IronBarCode」を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

  1. IronBarcodeをダウンロードして、ソリューションディレクトリ内の~/Libsなどの場所に解凍してください
  2. Visual Studioのソリューションエクスプローラーで、Referencesを右クリックします。 "IronBarcode.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

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。