コンテンツへスキップします。

これは、Tesseract 4に関するよくある質問と回答、またはそれらへのポインタのコレクションです。 よくあるエラーとその解決策に関する情報も参照してください。

Tesseract 2.0x、3.0x、および4.00.00alphaに関する古いバージョンのFAQについては、FAQ 旧版を参照してください。***

Tesseract 4.0.0

Tesseractの入手方法

詳細は、Tesseract Wiki ホームページを参照してください。

Tesseractで使用可能な言語モデル

Tesseract 4.0.0でサポートされている言語とスクリプトのリストについては、Tesseractのマニュアルページを参照してください。言語スクリプト

Tesseract 4.0.0で使用可能な3種類の言語モデルに関する情報は、Tesseract Wiki データファイルページを参照してください。

ユーザーが提供した言語モデルは、データファイルの提供からリンクされています。

Tesseractの言語モデル(traineddataファイル)のインストール場所

これらのファイルは、(Ubuntuでは)/usr/share/tesseract-ocr/4.00/tessdataにインストールする必要があります。

eng.traineddataが見つからないというエラーメッセージが表示された場合は、TESSDATA_PREFIX=/usr/share/tesseract-ocr/4.00/tessdataを設定してみてください。

Tesseractが出力できる形式

Tesseractの標準出力はプレーンテキストファイル(UTF-8エンコード、改行文字として’`’、各ページの後に改ページ文字として’FF’)です。改行

configfileオプションをpdfに設定すると、Tesseractは、非表示の検索可能なテキストレイヤーを含む画像を含む、検索可能なPDFページを出力します。

configfileオプションをhocrに設定すると、TesseractはhOCR仕様に準拠したXHTML出力を生成します(オペレーティングシステムがファイル名にUTF-8以外のエンコーディングを使用する場合、入力画像の名前はASCIIである必要があります - 詳細についてはissue 809を参照してください)。

configfileオプションをtsvに設定すると、Tesseractはタブ区切り値ファイルを出力します。

tesseract -c textonly_pdf=1は、テキストのみのPDFを生成します。これは、画像のみのPDFとマージできます。関連する議論とPDFのマージのためのユーティリティについては、issue 660を参照してください。

Tesseract 4.0.0のtxt出力で使用されるページ区切り文字

各ページは、テキスト出力ではデフォルトでFF文字で終了します。

page_separatorをLF文字に設定すると、各ページの最後に空行を追加するという以前の動作が復元されます。

page_separatorを空文字列に設定すると、ページ区切り文字は省略されます。

新しいTesseract(2017年9月以降)では、include_page_breaks構成変数は削除されました。デフォルトでは、改ページ制御文字を使用してページを区切ります。-c page_separator="[PAGE SEPARATOR]"を使用して異なる区切り文字を使用し、-c page_separator=''を使用してページ区切りを完全に無効にします。

Tesseractの実行

コマンドラインからTesseract 4.0.0を実行する方法

コマンドラインからTesseractを実行する方法については、Tesseract Wiki コマンドラインの使い方ページを参照してください。

tesseract --helpは、インストールされているバージョンの最新のヘルプ情報を提供します。

単一の実行で複数の画像を処理する方法

各画像へのパスを含むテキストファイルを作成します。

path/to/1.png

path/to/2.png

path/to/3.tiff

保存し、その名前をTesseractへの入力ファイルとして指定します。

tesseract savedlist output

複数ページのTIFFの単一ページをOCRする方法

tessedit_page_number構成変数をコマンドの一部として使用します(例:tesseract myscan.png out -c tessedit_page_number=0)。

Tesseractを使用してストリーミング画像をPDFに変換する方法

非常に遅い複数ページのスキャニングデバイスがあるとします。スキャン中にOCRを実行できると便利です。この例では、スキャニングプログラムは、生成されたときに画像ファイル名をTesseractに送信します。Tesseractは、検索可能なPDFをstdoutにストリーミングします。

scanimage --batch --batch-print | tesseract -c stream_filelist=true - - pdf > output.pdf

エラーメッセージをstderrではなくtesseract.logに出力する方法

コンソールウィンドウへの書き込みではなくtesseract.logへの書き込みという以前の動作を復元するには、これらを含むテキストファイルが必要です。

debug_file tesseract.log

ファイルをlogfileと呼び、tessdata/configs/に配置し、コマンドラインの最後にlogfileを追加します。

Tesseractの情報行を非表示にする方法

issue 579を参照してください。Linuxでは、stderrとstdoutの出力を/dev/nullにリダイレクトできます。例:

tesseract phototest.tif phototest 1>/dev/null 2>&1

tesseract 3.02では、構成quietを使用できます。例:

tesseract phototest.tif phototest quiet

警告:どちらのオプションも、エラーメッセージがあった場合に見ることができなくなります。

APIを使用してTesseract 4.0.0を使用する方法

APIの使用例については、Tesseract Wiki APIの例ページを参照してください。

同じTessBaseAPIオブジェクトを使用して複数の画像をデコードする場合、Tesseractの結果に不整合があります。

構成変数classify_enable_learning0に設定するか、ClearAdaptiveClassifier()メソッドを使用して適応データクリアすることで、適応分類器をオフにすることができます。

Tesseractフォーラムでの議論も参照してください。

OCR結果を改善する方法

多くの場合、より良いOCR結果を得るためには、Tesseractに提供する入力画像の品質を向上させる必要があります。

OCRの速度を向上させる方法

Tesseract 4を実行している場合は、「高速」整数モデルを使用できます。

Tesseract 4は、ページの処理中に最大4つのCPUスレッドを使用するため、Tesseract 3よりも単一ページの処理が高速になります。

コンピューターにCPUコアが2つしかない場合、4つのスレッドを実行すると処理速度が大幅に低下し、1つのスレッドまたは最大2つのスレッドを使用する方が良いでしょう!シングルスレッドを使用すると、マルチスレッディングの計算オーバーヘッドが排除され、CPUコアごとに1つのTesseractプロセスを実行することで、大量の画像を処理する場合にも最適なソリューションとなります。

環境変数OMP_THREAD_LIMITを使用して、スレッドの最大数を設定します。

マルチスレッディングを無効にするには、OMP_THREAD_LIMIT=1を使用します。

2019年10月6日更新:最新のTesseractコードでは、オプション-c tessedit_do_invert=0を使用でき、速度が向上します。

次のバージョンを試す方法

定期的に安定したバージョンがダウンロードページに掲載されます。リリースの間、特に新しいリリース直前には、最新のコードをgitから入手できます。ソースコードはこちらにあります。https://github.com/tesseract-ocr/tesseract.git コマンドライン、またはさまざまなクライアントプログラムとプラグインを使用する方法へのリンクからチェックアウトできます。

Tesseractの異なるバージョンを比較する方法

Tesseractの複数のバージョン(例:OCR結果を比較したい)を使用したい場合は、ソースからコンパイルする(例:/usr/src)ことをお勧めします。インストールしません。特定のバージョンをテストする場合は、次のように実行できます。

/usr/src/tesseract-3.03/api/tesseract eurotext.tif eurotext

/usr/src/tesseract-ocr.3.02/api/tesseract eurotext.tif eurotext

/usr/src/tesseract-3.03/api/tesseractはシェルラッパー・スクリプトであり、正しい共有ライブラリが使用されるようにします(インストールなし…)。

トレーニング

Tesseract LSTMエンジンのトレーニング方法

Tesseractは、他の言語を認識したり、既存の言語モデルを微調整したりするようにトレーニングできます。LSTMエンジンのトレーニングについては、Tesseract Wiki Tesseract 4.00のトレーニングページを参照してください。

tesstrain.shtesstrain.pyは、UTF-8トレーニングテキストとUnicodeフォントを使用して作成された合成画像を使用したトレーニングのみをサポートすることに注意してください。スキャンされた画像とトランスクリプションからのトレーニングは、tesstrain makefileを介してサポートされています。

PDF

検索可能なPDF出力を作成する方法

Tesseractバージョン3.03以降では、検索可能なPDF出力は標準機能です。pdf設定ファイルを使用します。

tesseract phototest.tif phototest pdf

検索可能なPDFには、スペースのみ、または単語の文字間にスペースしかないようです。

PDF自体に問題がない場合でも、非表示の検索可能なテキストレイヤーがPDFリーダーで認識されない場合があります。たとえば、Mac OS XのPreview.appは、このような問題があることで知られており、スペースしか表示されず、テキストが表示されない場合があります。代わりにAdobe Acrobat Readerを使用してみてください。

元の画像ファイルと検出されたテキストをPDFに統合する方法

構成変数-c textonly_pdf=1を使用し、画像のみのPDFとテキストのみのPDFをマージします。

詳細については、https://github.com/tesseract-ocr/tesseract/issues/660#issuecomment-274213632を参照してください。

その他

Tesseractを筆跡認識に使用できますか?

できますが、Tesseractは印刷されたテキスト向けに設計されているため、うまく機能しません。筆跡認識に重点を置いたプロジェクトを探してください。

Tesseractをバーコード認識に使用できますか?

いいえ。Tesseractはテキスト認識用です。

ドキュメントはどこにありますか?

今ご覧になっているのがそれです。不明な点がある場合は、Tesseract Google グループで検索するか、そこで質問してください。より多くの情報を追加するお手伝いがしたい場合は、ぜひご協力いただき、グループに投稿してください!

ここに私の質問がありません!

フォーラムで検索してみてください:http://groups.google.com/group/tesseract-ocr、また、GitHubの解決済みおよび未解決の課題も確認してください:https://github.com/tesseract-ocr/tesseract/issues。既に同様の質問が投稿されている可能性があります。


FAQ、Wikiページ、および課題で回答が見つからない場合は、投稿する前にユーザーメーリングリスト/フォーラムで検索してください。

Tesseractのバグを発見したと思われる場合は、既存の課題を検索してください。同様の課題が見つかった場合は、それに追加してください。そうでない場合は、新しい課題を作成してください。

GitHubに課題を報告したり、フォーラムに質問したりする前に、CONTRIBUTINGガイドをお読みください。***