C#のTesseractでカスタム言語を使用する方法
IronOCRは、UseCustomTesseractLanguageFileメソッドを通してTesseractの.traineddataファイルをロードすることで、カスタム言語、特殊スクリプト、暗号のOCRを可能にし、カスタム学習された言語モデルからテキストを抽出することを可能にします。
クイックスタート: OCRのカスタム言語のロード
今すぐ NuGet で PDF を作成してみましょう:
NuGet パッケージ マネージャーを使用して IronOCR をインストールします
このコード スニペットをコピーして実行します。
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);実際の環境でテストするためにデプロイする
1.NuGetパッケージマネージャ経由でIronOCRをインストールする 2.カスタムの.traineddataファイルをUseCustomTesseractLanguageFileで読み込みます。 3.OcrInputを作成し、ドキュメントを読み込みます。 4.Read()を呼び出して、カスタム言語でテキストを抽出します。 5.抽出したテキストを保存または処理する
Tesseractでカスタム言語を使用するには、まずUseCustomTesseractLanguageFileメソッドを呼び出し、.traineddataファイルをロードします。 このファイルには、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.csusing 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}");上記のコードは、カスタム言語OCRの基本的なワークフローを示しています。 より複雑なシナリオについては、以下の機能拡張をご検討ください:
パフォーマンスを最適化する:大きなドキュメントやバッチ処理では、マルチスレッドと非同期サポートを実装してパフォーマンスを向上させましょう。
画像前処理:ソース文書に品質の問題がある場合、OCR処理の前に画像補正フィルターを適用します。 フィルタウィザードは、最適な前処理設定を見つけるのに役立ちます。
地域固有のOCR:コンテンツが混在するドキュメントでは、OCR region of an image テクニックを使用して、カスタム言語を含む特定の領域に焦点を当てます。
カスタム言語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) 必要に応じて抽出されたテキストを処理する。






