IRONSOFTWAREHOME

最適なパフォーマンスを実現する C#35 での高速 OCR 構成

Curtis Chau
Curtis Chau
Updated: 2026年5月9日

IronOCR の迅速な構成により、EnglishFast 言語モードを使用し、バーコード読み取りなどの不要な機能を無効にすることで、最大 17% 高速な OCR 処理速度が可能になります。 この最適化は、時間が重要な大量処理に最適です。

IronOCRはすぐに効果的に機能します。 絶対的な正確さよりもスピードが優先される場合、IronOCRは迅速な設定を提供します。 この設定により、スキャン パフォーマンスが大幅に向上し、精度への影響が最小限に抑えられるため、標準の OCR 設定よりもはるかに速くなります。

この記事では、高速コンフィギュレーションの設定方法を示し、高速IronOCRコンフィギュレーションと標準IronOCRコンフィギュレーションのベンチマーク結果を比較します。 スキャンされたドキュメントPDF画像を処理しているかどうかにかかわらず、これらの最適化によってアプリケーションのパフォーマンスを大幅に向上させることができます。


クイックスタート: C#で高速OCRを設定

高速構成の主なコンポーネントは Language プロパティです。 Language プロパティを OcrLanguage.EnglishFast に設定することで、わずかに精度を犠牲にしつつ速度を優先します。 これにより、IronOCRはより迅速に一括して読むことができ、これは特に時間が重要なミッションクリティカルなアプリケーションで役立ちます。

高速言語を設定するのに加えて、ReadBarCodes などの不要な構成を無効にすることで、さらに速度を向上させることができます。 IronOCRはページ分割を自動検出し、設定をシンプルに保ちます。 より高度な設定オプションについては、Tesseract 詳細設定ガイドをご覧ください。

以下のコード例は、次の入力画像を処理します:

どのような入力形式を使用すればよいですか?

暗い背景に白で表示された、イシュマエルの紹介を示す"Moby Dick"の冒頭テキスト

高速コンフィギュレーションにはどのようなコードが必要ですか?

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

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

    /* :path=/static-assets/ocr/content-code-examples/how-to/ocr-fast-configuration.cs */
    using IronOcr;
    using System;
    
    var ocrTesseract = new IronTesseract();
    
    // Fast Dictionary
    ocrTesseract.Language = OcrLanguage.EnglishFast;
    
    // Turn off unneeded options
    ocrTesseract.Configuration.ReadBarCodes = false;
    
    // Assume text is laid out neatly in an orthogonal document
    ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
    
    using var ocrInput = new OcrInput();
    ocrInput.LoadImage("image.png");
    
    var ocrResult = ocrTesseract.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
    C#
  3. 3実際の環境でテストするためにデプロイする

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

どのようなアウトプットを期待できますか?

小説"白鯨"の冒頭の一節を表示するVisual Studioエディタ

これは上記から抽出されたテキスト出力です。 OCRエンジンは、原文の書式と構造を維持しながら、文字テキストを正確にキャプチャします。 この例のような明瞭でコントラストの高いテキストには、高速な設定が優れた結果をもたらします。


高速コンフィギュレーションは標準と比較してどうですか?

実世界への影響を実証するために、標準のパフォーマンスと高速設定のベンチマークを行いました。 それぞれ数段落を含む10セットのサンプル画像を使用して、パフォーマンスを比較し、高速コンフィギュレーションを使用した場合のトレードオフを視覚化します。

標準の構成については、速度指向のプロパティを適用することなく、デフォルト設定で IronTesseract を初期化します。 このベンチマーク アプローチは、パフォーマンス追跡ガイドに似ており、OCR 操作をリアルタイムで監視する方法を示しています。

テストの実行に使用するサンプル入力です。これらの画像は、複数ページのドキュメントやバッチ操作を処理するときに遭遇する可能性のある典型的なドキュメントのシナリオを表しています。

ベンチマークを実行するには?

using IronOcr;
using System;
using System.Diagnostics;
using System.IO;

// --- Tesseract Engine Setup ---
var ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.EnglishFast;
ocrTesseract.Configuration.ReadBarCodes = false;
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;

// --- 1. Define folder and get files ---
string folderPath = @"images"; // IMPORTANT: Set this to your image directory
string filePattern = "*.png";    // Change to "*.jpg", "*.bmp", etc. as needed
string outputFilePath = "ocr_results.txt"; // The new results file

// Get all image files in the directory
var imageFiles = Directory.GetFiles(folderPath, filePattern);

Console.WriteLine($"Found {imageFiles.Length} total images to process...");
Console.WriteLine($"Results will be written to: {outputFilePath}");

// --- 2. Start timer and process images, writing to file ---
// Open the output file *before* the loop for efficiency
using (StreamWriter writer = new StreamWriter(outputFilePath))
{
    var stopwatch = Stopwatch.StartNew();

    foreach (var file in imageFiles)
    {
        string fileName = Path.GetFileName(file);

        using var ocrInput = new OcrInput();
        ocrInput.LoadImage(file);

        var ocrResult = ocrTesseract.Read(ocrInput);

        // Check if any text was actually found
        if (!string.IsNullOrEmpty(ocrResult.Text))
        {
            // Write to Console
            Console.WriteLine($"--- Text found in: {fileName} ---");
            Console.WriteLine(ocrResult.Text.Trim());
            Console.WriteLine("------------------------------------------");

            // Write to File
            writer.WriteLine($"--- Text found in: {fileName} ---");
            writer.WriteLine(ocrResult.Text.Trim());
            writer.WriteLine("------------------------------------------");
            writer.WriteLine(); // Add a blank line for readability
        }
        else
        {
            // Write to Console
            Console.WriteLine($"No text found in: {fileName}");

            // Write to File
            writer.WriteLine($"No text found in: {fileName}");
            writer.WriteLine();
        }
    }

    stopwatch.Stop();

    // --- 3. Print and write final benchmark summary ---
    string lineSeparator = "\n========================================";
    string title = "Batch OCR Processing Complete";
    string summary = $"Fast configuration took {stopwatch.Elapsed.TotalSeconds:F2} seconds";

    // Write summary to Console
    Console.WriteLine(lineSeparator);
    Console.WriteLine(title);
    Console.WriteLine("========================================");
    Console.WriteLine(summary);

    // Write summary to File
    writer.WriteLine(lineSeparator);
    writer.WriteLine(title);
    writer.WriteLine("========================================");
    writer.WriteLine(summary);

    if (imageFiles.Length > 0)
    {
        string avgTime = $"Average time per image: {(stopwatch.Elapsed.TotalSeconds / (double)imageFiles.Length):F3} seconds";
        Console.WriteLine(avgTime);
        writer.WriteLine(avgTime);
    }
}

Console.WriteLine($"\nSuccessfully saved results to {outputFilePath}");

このベンチマーク・コードは、いくつかの重要な概念を示しています:

1.バッチ処理: コードは、マルチスレッド OCR の例と同様に、1 回の操作で複数の画像を処理します。これは、並列処理を活用して速度をさらに向上させる方法を示しています。

  1. 性能測定: Stopwatch クラスを使用することで、異なる構成を比較するために不可欠なミリ秒単位の正確な時間測定を提供します。

3.結果ロギング:コンソールとファイル出力の両方で、後で結果を分析し、構成間の精度の違いを確認できるようにします。

どのようなパフォーマンスの向上が期待できますか?

モード合計時間平均時間 / 画像標準に対する時間獲得標準に対する精度の向上
標準です。10.40秒1.040秒BaselineBaseline
速い8.60秒0.860秒+17.31% (より速い)+0% (同一)

標準構成と高速構成のベンチマーク比較では、高速構成に大きな性能上の利点があることを示しています。 標準モードをベースライン(合計時間10.40秒)に設定することで、高速コンフィギュレーションは10枚の同じバッチをわずか8.60秒で完了させました。 これは 17.31% という大幅な時間節約を意味します。 重要なのは、このスピードの向上が品質を損なわないことでした; どちらのモードでも精度は同じで、どちらの構成でも同じテキストが出力されました。

結果を確認するには、高速テキスト出力標準テキスト出力の両方をダウンロードできます。

どのような場合に Fast Configuration を使用すべきですか?

高速コンフィギュレーションは、特に次のような場合に有効です:

  • 何千ページもの迅速な処理が必要な、大量の文書処理
  • 応答時間が重要なリアルタイムアプリケーション
  • レスポンシブなユーザー体験を維持する必要があるWebアプリケーション
  • タイトなスケジュールで稼働するバッチ処理システム

複数の言語低品質スキャンライセンスプレートパスポートのような特殊なドキュメントタイプを含む、より複雑なシナリオの場合は、最大限の精度を確保するために標準設定を使用することをお勧めします。

IronOCRはコンフィギュレーションの切り替えを簡単にします - いくつかのプロパティを変更するだけで、アプリケーションはコードを大きく変更することなく、異なるパフォーマンス要件に対応できます。

よくある質問

高速OCR設定は、標準設定と比べてどのくらい高速ですか?

IronOCRの高速設定は、精度への影響を最小限に抑えながら、標準的なOCR設定と比較して最大17%の処理速度向上を達成することができます。この性能向上は、EnglishFast言語モードと不要な機能を無効にすることで達成されます。

高速OCR処理を可能にする主な設定は何ですか?

IronOcrの高速コンフィギュレーションの主な要素は、LanguageプロパティをOcrLanguage.EnglishFastに設定することです。これは、正確さにおけるわずかな潜在的コストよりもスピードを優先させるもので、一括処理やタイムクリティカルなアプリケーションに最適です。

EnglishFastモードを使用する以外に、OCR速度をさらに最適化する方法はありますか?

IronOCRの不要な機能を無効にすることで、さらに速度を向上させることができます。例えば、バーコード検出が不要な場合はReadBarCodesをfalseに設定します。また、TesseractPageSegmentationMode.Autoを使用することで、IronOCRにページ分割を自動検出させることができます。

標準設定ではなく、高速OCR設定を使用するのはどのような場合ですか?

IronOCRの高速OCRコンフィギュレーションは、時間が非常に重要であり、精度の多少のトレードオフが許容される大量処理シナリオに最適です。特に、スキャンした文書、PDF、画像を迅速に処理する必要のあるミッションクリティカルなアプリケーションに有効です。

高速コンフィギュレーションは、すべてのドキュメントタイプに対応していますか?

IronOCRの高速設定は、スキャン文書、PDF、画像など様々なタイプの文書に効果的に対応します。最適化の利点は、処理する入力フォーマットに関係なく適用されます。

高速OCRモードを使用した場合、精度は落ちますか?

IronOCRの高速コンフィギュレーションは、スキャンのパフォーマンスを大幅に向上させ、精度への影響を最小限に抑えます。EnglishFastモードを使用する場合、精度に若干のコストがかかる可能性がありますが、スピードを優先するアプリケーションでは、トレードオフの価値はしばしばあります。

Can IronOCR's fast configuration handle batch processing efficiently?

Yes, IronOCR's fast configuration is designed for efficient batch processing, allowing multiple images to be processed in a single operation with enhanced speed due to reduced computational load per image.

How does benchmark testing demonstrate the performance of fast configuration?

Benchmark testing with a set of sample images revealed that fast configuration can process images 17% quicker than the standard mode, demonstrating its superior speed without compromising text output accuracy.

When should the standard OCR configuration be preferred over fast configuration?

The standard OCR configuration should be used in scenarios requiring high accuracy, such as processing low-quality scans, recognizing multiple languages, or handling specialized documents like passports or license plates.

Is it easy to switch between fast and standard configurations in IronOCR?

Yes, IronOCR allows easy switching between configurations by changing a few properties, enabling swift adaptation to varying performance needs without complex code adjustments.

Curtis Chau
テクニカルライター

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

...
詳しく読む

準備はできましたか?

Nuget Downloads 6,236,385バージョン:2026.9リリースされたばかり

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

バージョン: 2026.9

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

バージョン: 2026.9

または、Windowsインストーラーをこちらからダウンロード。

  1. IronOCRをダウンロードして、ソリューションディレクトリ内の~/Libsなどの場所に解凍します
  2. Visual Studioソリューションエクスプローラーで、リファレンスを右クリックします。「参照」、「IronOCR.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
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。