C#のTesseractでカスタム言語を使用する方法</#35;

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

IronOCRは、.traineddataメソッドを通じてTesseract .traineddataファイルをロードすることで、カスタム言語、特殊な文字体系、または暗号化されたテキストに対するOCRを可能にし、カスタムトレーニングされた言語モデルからテキストを抽出できるようにします。

クイックスタート: OCR用にカスタム言語をロード

  1. IronOCR をNuGetパッケージマネージャでインストール

    PM > Install-Package IronOcr
  2. このコード スニペットをコピーして実行します。

    using IronOcr;
    
    // Initialize OCR engine
    var ocr = new IronTesseract();
    
    // Load custom language file
    ocr.UseCustomTesseractLanguageFile("custom.traineddata");
    
    // Process document
    using var input = new OcrInput();
    input.LoadImage("document.png");
    
    // Extract text
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
  3. 実際の環境でテストするためにデプロイする

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

    arrow pointer
  1. NuGet パッケージ マネージャーを使用して IronOcr をインストールします
  2. .traineddata ファイルに UseCustomTesseractLanguageFile を読み込みます
  3. OcrInput を作成し、ドキュメントを読み込んでください
  4. カスタム言語でテキストを抽出するには、Read() を呼び出してください
  5. 抽出されたテキストを保存または処理します

光学式文字認識(OCR)では、カスタム言語や特殊なスクリプト、暗号を扱う必要がある場合があります。 カスタム言語を含む入力イメージを読み取るには、Tesseract エンジンにその特定の言語のトレーニング データを提供する必要があります。 このデータは、特別な .traineddata ファイルに保存されています。

このファイルを作成 (トレーニング) する複雑なプロセスは Tesseract 独自のツールを使用して実行されますが、IronOCR はこれらのカスタム言語ファイルの使用を完全にサポートしています。 これにより、トレーニング済みのモデルを適用して、任意の入力からテキストを解読して読み取ることができます。 このガイドでは、IronOCRを使用してカスタム .traineddata ファイルを読み込み、使用する方法について説明します。


Tesseractでカスタム言語OCRを実装するには?

Tesseractでカスタム言語を使用するには、まずUseCustomTesseractLanguageFileファイルをロードします。 このファイルには、Tesseract がカスタム言語の固有の文字を認識できるようにするすべてのトレーニング データが含まれているため、これは重要なステップです。

IronOCRのカスタム言語サポートは標準言語を超えています。 歴史的なスクリプトや発明された言語、特殊な表記システムを扱う場合でも、同じプロセスが適用されます。 複数の言語を必要とするプロジェクトについては、複数言語の読み取りに関するガイドをチェックするか、箱から出してすぐにサポートされている125の国際的なOCR言語について学んでください。

次に、通常のOCR操作と同じように、入力文書を読み込みます。 LoadPdf を使用して、カスタム言語の段落を含む PDF を読み込んでいます。 IronOCRは画像(jpg, png, gif, tiff, bmp)PDFを含む様々な入力フォーマットをサポートしています。

最後に、入力テキストからテキストを抽出するには、Read メソッドを使用してください。 翻訳結果は、コンソールに印刷したり、テキストファイルに保存して参照することができます。

カスタム言語にはどのようなトレーニングデータが必要ですか?

カスタム言語のテキストを含むこのサンプル PDF を入力として使用します。

この例では、カスタム言語 .traindata を使用します。

トレーニングデータの品質と包括性はOCRの精度に直接影響します。 カスタム言語トレーニングデータを作成する場合

  1. 文字のカバー率:すべての文字と記号が含まれていることを確認してください
  2. フォントのバリエーション:ドキュメントのタイポグラフィが異なる場合は、複数のフォントスタイルを含めてください
  3. 画像の品質:実際に処理する画像と類似の画像でするトレーニングを行ってください
  4. コンテキストのパターン:一般的な単語の組み合わせやフレーズを含めてください

高度な設定オプションについては、Tesseract 詳細設定ガイドをご覧ください。

カスタム言語ドキュメントを読み込んで処理するにはどうすればよいですか?

:path=/static-assets/ocr/content-code-examples/how-to/ocr-custom-language.cs
using IronOcr;
using System;
using System.IO;

var ocrTesseract = new IronTesseract();

// Load the traineddata file for the custom language
ocrTesseract.UseCustomTesseractLanguageFile("AMGDT.traineddata");

using var ocrInput = new OcrInput();
// Load the PDF containing text in the custom language
ocrInput.LoadPdf("custom.pdf");

var ocrResult = ocrTesseract.Read(ocrInput);

// Print text to the console
Console.WriteLine("--- OCR Result ---");
Console.WriteLine(ocrResult.Text);
Console.WriteLine("------------------");

// Pipe text to a .txt file
string outputFilePath = "ocr_output.txt";
File.WriteAllText(outputFilePath, ocrResult.Text);

Console.WriteLine($"\nSuccessfully saved text to {outputFilePath}");
Imports IronOcr
Imports System
Imports System.IO

Dim ocrTesseract As New IronTesseract()

' Load the traineddata file for the custom language
ocrTesseract.UseCustomTesseractLanguageFile("AMGDT.traineddata")

Using ocrInput As New OcrInput()
    ' Load the PDF containing text in the custom language
    ocrInput.LoadPdf("custom.pdf")

    Dim ocrResult = ocrTesseract.Read(ocrInput)

    ' Print text to the console
    Console.WriteLine("--- OCR Result ---")
    Console.WriteLine(ocrResult.Text)
    Console.WriteLine("------------------")

    ' Pipe text to a .txt file
    Dim outputFilePath As String = "ocr_output.txt"
    File.WriteAllText(outputFilePath, ocrResult.Text)

    Console.WriteLine(vbCrLf & "Successfully saved text to " & outputFilePath)
End Using
$vbLabelText   $csharpLabel

上記のコードは、カスタム言語OCRの基本的なワークフローを示しています。 より複雑なシナリオについては、以下の機能拡張をご検討ください:

パフォーマンスを最適化する:大きなドキュメントやバッチ処理では、マルチスレッドと非同期サポートを実装してパフォーマンスを向上させましょう。

画像前処理:ソース文書に品質の問題がある場合、OCR処理の前に画像補正フィルターを適用します。 フィルタウィザードは、最適な前処理設定を見つけるのに役立ちます。

地域固有のOCR:コンテンツが混在するドキュメントでは、OCR region of an image テクニックを使用して、カスタム言語を含む特定の領域に焦点を当てます。

カスタム言語OCRにはどのような結果が期待できますか?

ターミナルインターフェースのApex Legendsゲーム機能に関するテキストを抽出したTesseract OCR出力

この出力は、カスタム言語モデルの結果を示しています。 IronOCRは正しい学習データを提供することで、テキストの解読に成功し、結果は平易な英語となりました。 さらに、これはコードによって生成されたテキスト出力です。

カスタム言語OCRの精度は、いくつかの要因に左右されます:

  • トレーニングデータの品質:より良いトレーニングデータはより良い結果をもたらします
  • ドキュメントの一貫性:トレーニングデータと一致するドキュメントが最良の性能を発揮します
  • 画像解像度: DPIが高い画像ほど、より正確な結果が得られます - DPI設定に関するガイドを参照してください。

カスタム言語実装のベストプラクティス

本番環境でカスタム言語OCRを実装する場合は、以下のベストプラクティスを考慮してください:

エラー処理と検証.traineddata ファイルを読み込む前に、そのファイルが存在し、アクセス可能であることを常に確認してください。 カスタム言語ファイルが見つからない、または破損している可能性がある場合の適切なエラー処理を実装します。

パフォーマンスの最適化:カスタム言語モデルは、標準の言語パックよりも大きくなる可能性があります。 最適なパフォーマンスのために

  • 複数のドキュメントを処理する際には、ロードされた言語モデルをキャッシュしてください
  • 長時間実行されるOCR操作を監視するために進捗トラッキングを利用してください
  • 大きなドキュメントを処理するためにタイムアウトを実装することを検討してください

標準言語との組み合わせ: 文書にカスタム言語と標準言語の両方が含まれている場合、複数の言語を同時に読み込むことができます。 これは、内容が混在する文書に特に有効です。

テストと検証: OCRの精度を検証するためのテストフレームワークを確立する:

  • 既知の出力を持つテストデータセットを作成してください
  • 認識品質を評価するために結果の信頼性の指標を使用してください
  • highlight text as images を実装し、ビジュアルデバッグを行う。

高度な使用例

カスタム言語OCRは、多くの可能性を広げます:

歴史的文書の保存:古代の写本や時代遅れの文字で書かれたテキストをデジタル化する。 専門表記システム:数式、楽譜、技術ダイアグラムの処理 - 数式トラブルシューティングガイドをご覧ください。 セキュリティアプリケーション:独自のエンコーディングシステムや暗号をデコードする。 アクセシビリティ:特殊な点字または触覚筆記システムを標準テキストに変換する。

より高度なシナリオについては、コード例をご参照ください。

よくある質問

カスタム言語やスクリプトを含む文書でOCRを実行するにはどうすればよいですか?

IronOCRはUseCustomTesseractLanguageFileメソッドを通してTesseract.traineddataファイルをロードすることでカスタム言語OCRを可能にします。これにより、特殊なスクリプト、歴史的なテキスト、暗号など、カスタム学習された言語モデルからテキストを抽出することができます。

カスタム言語認識に必要なファイル形式は?

IronOCRはカスタム言語の学習データを含む.traineddataファイルを必要とします。このファイルはUseCustomTesseractLanguageFileメソッドを使用して読み込まれ、Tesseractがカスタム言語固有の文字を認識するために必要なすべての情報が含まれています。

1つのOCR操作で複数のカスタム言語を使用できますか?

はい、IronOCRは複数の言語認識に対応しています。複数のカスタム言語ファイルを読み込んだり、カスタム言語とIronOCRがすぐにサポートする125の国際言語を組み合わせることができます。

どのような種類のカスタムスクリプトを認識できますか?

IronOcrは、歴史的なスクリプト、発明された言語、特殊な表記法、暗号など、.traineddataファイルに適切に学習されたカスタムスクリプトを認識することができます。その柔軟性は、Tesseractのツールを使って学習させることができるあらゆる文字体系にも及んでいる。

C#アプリケーションにカスタム言語OCRを実装するには?

IronOCRでカスタム言語OCRを実装するには: 1) IronTesseractインスタンスを初期化し、2) UseCustomTesseractLanguageFileを使用してカスタム.traineddataファイルをロードし、3) OcrInputオブジェクトを作成してドキュメントをロードし、4) Read()メソッドを呼び出してテキストを抽出し、5) 必要に応じて抽出されたテキストを処理する。

IronOCRは複数の言語をサポートしていますか?

IronOCRは複数言語をサポートしており、異なる言語でのテキスト認識を必要とするグローバルアプリケーションに対する多用途ツールです。

IronOCRは既存のアプリケーションに統合できますか?

IronOCRはC#を使用して既存のアプリケーションに簡単に統合できるよう設計されており、開発者がソフトウェアにOCR機能を少ない手間で追加できるようにします。

ドキュメント管理でIronOCRを使用する利点は何ですか?

IronOCRを使用することで、スキャンされた文書を検索可能かつ編集可能なテキストに変換し、手作業によるデータ入力を減らし、文書のアクセス性を向上させることでワークフローを効率化します。

IronOCRはデータ精度をどのように向上させますか?

IronOCRはその高度な認識アルゴリズムと画像補正機能により、信頼性が高く正確なテキスト抽出プロセスを保証します。

IronOCRの無料トライアルを利用できますか?

はい、Iron SoftwareはIronOCRの無料トライアルを提供しており、ユーザーが購入決定をする前にその機能と能力をテストできます。

カーティス・チャウ
テクニカルライター

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

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 5,896,332 | バージョン: 2026.5 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronOcr
サンプルを実行 あなたの画像が検索可能なテキストになるのをご覧ください。