これは、Tesseract 4に関するよくある質問と回答、またはそれらへのポインタのコレクションです。 よくあるエラーとその解決策に関する情報も参照してください。
Tesseract 2.0x、3.0x、および4.00.00alphaに関する古いバージョンのFAQについては、FAQ 旧版を参照してください。***
- Tesseract 4.0.0以降のバージョン
- Tesseractの入手方法
- Tesseractの実行
- コマンドラインからTesseractを実行する方法
- 単一の実行で複数の画像を処理する方法
- 複数ページのTIFFの単一ページをOCRする方法
- Tesseractを使用してストリーミング画像をPDFに変換する方法
- エラーメッセージをstderrではなくtesseract.logに出力する方法
- Tesseractの情報行を非表示にする方法
- APIを使用してTesseractを使用する方法
- 同じTessBaseAPIオブジェクトを使用して複数の画像をデコードする場合、Tesseractの結果に不整合があります。
- OCR結果を改善する方法
- OCRの速度を向上させる方法
- 次のバージョンを試す方法
- Tesseractの異なるバージョンを比較する方法
- トレーニング
- その他
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が出力できる形式
- txt
- hocr
- tsv
- テキストレイヤーのみのpdf
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_learning
を0
に設定するか、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.sh
とtesstrain.py
は、UTF-8トレーニングテキストとUnicodeフォントを使用して作成された合成画像を使用したトレーニングのみをサポートすることに注意してください。スキャンされた画像とトランスクリプションからのトレーニングは、tesstrain makefileを介してサポートされています。
検索可能な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ガイドをお読みください。***