tesseract 言語データのダウンロード

Linux, Windows7tesseract

ダウンロードした言語データは、Windows版Tesseract および Linux版Tesseract のどちらにでも使用できます。

言語データについて

はじめに、言語データは、tesseract の本体バージョンごとに異なります。

★言語データはざっくりと4種類あります★
・v4.00用
・v3.04/3.05用
・v3.02用
・v2.0x用

事前に本体バージョンを確認しましょう。

  1. tesseract 本体のバージョンを調べる方法(コマンドプロンプト、または、Linuxのコマンドライン)
  2. tesseract -v

  3. インストール済み言語データの確認
  4. tesseract --list-langs
    
    List of available languages (1):
    eng
    ※上の例では英語のみインストールされている状態です。日本語がインストールされていれば、jpn も表示されます。

言語データのダウンロード

  1. GitHub の tesseract Data Files ダウンロードページ
  2. https://github.com/tesseract-ocr/tesseract/wiki/Data-Files
    ダウンロードページの主な見出し  Special Data Files ← osd(v3.01以上対応)とequ(v3.02以上対応)
     Data Files for Version 4.00 (November 29, 2016) ← v4.00用
     Data Files for Version 3.04/3.05 ← v3.04/3.05用
     Data Files for Version 3.02 ← v3.02用
     Data Files for Version 2.0x ← v2.0x用
     Cube Data Files for Version 3.04/3.05 ← アラビア語とヒンディー語用
     Fraktur Data Files ← 不要

     ※Special Data Files の osdファイルは傾いてしまった文章を認識させるときに必要です。
     ※osdファイルは、オプション -psm で使用します。ダウンロードしておいても損はないです。
  3. ダウンロードした言語データは tessdata フォルダに保存する。以下は保存先の例です。
  4. Windows例C:¥Program Files¥Tesseract-OCR¥tessdata
    Linux例/usr/local/tesseract/share/tessdata
  5. 追加した言語データの確認
  6. tesseract --list-langs

    日本語辞書を追加した場合は、「 jpn 」が表示されます。
    tesseract --list-langs
    
    List of available languages (2):
    eng
    jpn
    目的の言語が表示されれば完了です。

    CHECK 使用できないバージョンの言語データを、間違って保存先に入れてしまった場合でも --list-langs で表示されてしまうのでご留意を。例えば、本体はVer4.0以上なのに、言語データがVer2.0用でも、表示されます。

言語データのファイル名を変更すると、どうなる?

以下は備忘録のため、作業は不要です。
言語データのファイル名を変更したとき、オプション --list-langs の戻り値を確認しました。

  1. 言語データのファイル名 jpn.traineddata を japanese.traineddata にリネームする。

  2. $ tesseract --list-langs を実行すると。
  3. tesseract --list-langs
    
    List of available languages (2):
    eng
    japanese
    になります。japanese と表示されました。

  4. なので、tesseract で文字認識させる際は

  5. ファイル名変更前
    tesseract test.png result -l jpn
       ↓
    ファイル名変更後なので
    tesseract test.png result -l japanese
    になります。言語データの指定は名前変更後の japanese にします。