Tesseractの詳細設定
OCRの場合、ドキュメントからテキストをアプローチして抽出するためのオプションと柔軟性を持つことが重要です。 OCRの実行はコストが高いため、特定のドキュメントに対して使用するパフォーマンスと方法を制御できることが、OCRを利用するアプリケーションをスケーラブルかつ効率的にするために必要です。
IronTesseractは、開発者にさまざまなプロパティとオプションを提供し、いじることができます。 例えば、特定の文字をブラックリストに追加したい場合や、ドキュメント内のバーコードを読み取りたい場合、さらにはOCRエンジンがページを読み取り、潜在的なテキストブロックをスキャンする方法を指示したい場合など、すべてIronTesseract
クラスを使用して可能です。
IronOCRをTesseract 5と使用するための5ステップガイド
var ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.EnglishBest;
ocrTesseract.Configuration.ReadBarCodes = false;
ocrTesseract.Configuration.BlackListCharacters = "`ë^";
ocrTesseract.Configuration.TesseractVariables["tessedit_parallelize"] = false;
IronTesseract
クラスを初期化した後、すぐに変更したい重要なオプションがいくつか利用可能です。 最初に設定するプロパティはLanguage
です。 デフォルトでは、言語は英語です。 ただし、IronTesseract
は最大125の言語をサポートしており、UseMultipleLanguages
メソッドを使用することで、複数の言語を許可します。 詳細については、こちらを参照してください。
次に設定したいプロパティはTesseractConfiguration
クラスです。 このクラスを使用すると、Tesseract エンジンがテキストの可能性のあるブロックをドキュメント内でどのようにスキャンするかを変更できます。 まず、OcrLanguage.EnglishBest
に言語を割り当てることによって、Tesseractエンジンの言語を変更します。 このバリエーションは、OCRを使用した形状認識戦略であるLTSMとOEMを組み合わせています。 これら2つの戦略を組み合わせることで、OCRはより正確な結果を生み出すことができます。 その後、OCRプロセス中にバーコードを読み取らないようにReadBarCodes
をfalseに設定します。
また、文書上で特定の文字をブラックリストに追加することで、抽出したい文字をさらにカスタマイズして指定します。 この例では、バックティックやアクセント、キャレット記号を含むテキストの抽出を避けるために、文字をブラックリストに登録します。 最後に、TessreactVariables["tessedit_parallelize"]
を false に設定して、当面の間並列処理を無効にします。 この最後の機能は非常に強力です。これは直接Tesseract Engineに対応しているためです。こちらに、OCRを実行する際にTesseract Engineの動作をさらにカスタマイズするためのTesseractVariables
の完全リストがあります。
例やサンプルコード、ファイルを含むハウツーガイドをご覧になるには、こちらをクリックしてください。