TLDR;バージョン:Tesseractに単語リスト(.NETラッパー)を与える方法
私が見ることができる.NETラッパーを使用してTasseractの作業用バザーを設定している人はいますか?
私は(唯一のリストからいくつかの単語を認識)それは私が何をしたいのですかなり確信しているが、それは何も
を行うにはいないようだ私は「可能文字列のかなり短いリストを持っています見つけようとしています(1〜4語)。たTesseractのドキュメントの状態:
あなたが全体の辞書を交換したい場合、あなたは、 に.traineddataファイルを解凍し、新しいワード仲の良い友達のファイルを作成し、バックに ファイルをパックする必要があります。 traineddataファイル。詳しくは のTrainingTesseractを参照してください。
これは、私が望むように聞こえる!だから私はTrainingTesseractを見て、次を参照してください。
traineddataファイルは、単に知られているファイル 種類のオフセットが含まれているコンテンツのテーブルを持つ入力ファイルの連結、 です。現在受け入れられているファイル名 のリストについては、ソースコードのccutil/tessdatamanager.hを参照してください。
グレート。では、入力ファイルのこの単純な連結を解凍し、コンテンツとヘッダーを変更して再パックする方法を教えてください。
のは、あなたが英語でOCRしたいとしましょう、しかし、通常の 辞書を抑制する:単にデフォルトの辞書をオフにし、代わりにユーザーが単語を使用することを含む - :)
This postは同じ質問のように見えます代替ワードリストと代替リストをロードする パターン - これら2つのファイルは最も一般的に使用される追加データ ファイルです。
あなたの言語パックは/path/to/eng.traineddataにあり、HOCR 設定は、/ pathで/に/のconfigs/HOCRで次の3つの新しいファイルを作成した場合:
/パス/に/ ENGを。ユーザーの言葉:
/パス/に/のconfigs /バザーを-snip:あなたは 単語を渡すと、今
を-snip
/path/to/eng.user-patternsを-snip Tesseractへの末尾のコマンドラインパラメータとしてbazaar、 Tesseractはシステム辞書の読み込みや頻繁な単語辞書の を気にせず、eng.user-words と入力したeng.user-patternsファイルを読み込んで使用します。前者は、単純な単語の リスト、1行に1つです。後者の形式は、read_pattern_list()の dict/trie.hに記載されています。
しかし、これを行っても全く違いはありません。作った(UTF-8、UNIXの改行コード)ファイルengine.config
using (engine = new TesseractEngine(@"C:\src\x\tessdata", "eng", EngineMode.Default, @"C:\src\x\tessdata\engine.config"))
:
load_system_dawg F
load_freq_dawg F
user_words_suffix user-words
user_patterns_suffix user-patterns
そして、作成したeng.user-パターンを
私はとエンジンを作成していますeng.traineddataの横にeng.user-words(UTF-8、Unix行末)ファイルがあります。
これが可能かどうかと思いますか?誰かが開発者以外のTesseractを使っているのだろうか? –