はじめに
Tesseract は、光学文字認識(OCR)エンジンであり、Apache 2.0 ライセンスの下で利用可能なオープンソースです。直接使用することも、プログラマーの場合は、APIを使用して画像から印刷されたテキストを抽出することもできます。幅広い言語をサポートしています。
Tesseract には組み込みの GUI はありませんが、サードパーティページから入手できるものがいくつかあります。
インストール
インストールには、エンジン本体と、言語用の traineddata の2つの部分があります。
Tesseract は多くの Linux ディストリビューションから直接入手できます。パッケージは通常、'tesseract' または 'tesseract-ocr' と呼ばれます。お使いのディストリビューションのリポジトリを検索して見つけてください。
130を超える言語と35を超えるスクリプトのパッケージも、Linuxディストリビューションから直接入手できます。言語の traineddata パッケージは、'tesseract-ocr-langcode' および 'tesseract-ocr-script-scriptcode' と呼ばれ、langcode
は3文字の言語コード、scriptcode
は4文字のスクリプトコードです。
例: tesseract-ocr-eng(英語)、tesseract-ocr-ara(アラビア語)、tesseract-ocr-chi-sim(簡体字中国語)、tesseract-ocr-script-latn(ラテンスクリプト)、tesseract-ocr-script-deva(デーヴァナーガリー文字)など。
** エキスパート専用。**
OCRエンジンモードを試している場合は、Linuxディストリビューションで利用可能なもの以外に、言語トレーニングデータを手動でインストールする必要があります。
さまざまなタイプのトレーニングデータは、GitHubにあります。.traineddataファイルを解凍して、「tessdata」ディレクトリにコピーします。正確なディレクトリは、トレーニングデータの種類とLinuxディストリビューションの両方に依存します。候補は、/usr/share/tesseract-ocr/tessdata
、/usr/share/tessdata
、または/usr/share/tesseract-ocr/4.00/tessdata
です。
廃止されたTesseractバージョン=< 3.02のトレーニングデータは、別の場所にあります。
プラットフォーム
Tesseractがお使いのディストリビューションで利用できない場合、または提供されているものよりも新しいバージョンを使用したい場合は、自分でコンパイルできます。
Ubuntu
Ubuntu に Tesseract とその開発ツールをインストールするには、単に次を実行します。
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
Ubuntu ユーザー向けの注意:apt
がパッケージを見つけられない場合は、次に示すように、sources.list
ファイルに universe
エントリを追加してみてください。
sudo vi /etc/apt/sources.list
Copy the first line "deb http://archive.ubuntu.com/ubuntu bionic main" and paste it as shown below on the next line.
If you are using a different release of ubuntu, then replace bionic with the respective release name.
deb http://archive.ubuntu.com/ubuntu bionic universe
Debian パッケージ
Raspbian パッケージ
Ubuntu パッケージ
Ubuntu ppa
RHEL/CentOS/Scientific Linux、Fedora、openSUSE パッケージ
詳細な手順については、OpenSuseへのインストールページを参照してください。
AppImage
手順
- リリースページから AppImage をダウンロードします。
- ターミナルアプリケーションを開きます(まだ開いていない場合)。
- AppImage の場所を参照します。
- AppImage を実行可能にします。
$ chmod a+x tesseract*.AppImage
- 実行します。
./tesseract*.AppImage -l eng page.tif page.txt
AppImage の互換性
- Debian: ≥ 10
- Fedora: ≥ 29
- Ubuntu: ≥ 18.04
- CentOS ≥ 8
- openSUSE Tumbleweed
含まれる traineddata ファイル
- deu - ドイツ語
- eng - 英語
- fin - フィンランド語
- fra - フランス語
- osd - スクリプトと方向
- por - ポルトガル語
- rus - ロシア語
- spa - スペイン語
snap
snapd でサポートされているディストリビューションの場合、次のコマンドを実行して、tesseract
ビルド済みのバイナリをインストールすることもできます(snapd がインストールされていませんか?)。
sudo snap install --channel=edge tesseract
traineddata は現在 snap パッケージには同梱されておらず、手動で ~/snap/tesseract/current
に配置する必要があります。
macOS
Tesseract は、MacPorts または Homebrew のいずれかを使用してインストールできます。
Tesseract API の macOS ラッパーは、Tesseract macOS でも利用できます。
MacPorts
Tesseract をインストールするには、このコマンドを実行します。
sudo port install tesseract
言語データをインストールするには、次を実行します。
sudo port install tesseract-<langcode>
利用可能な言語コードのリストは、MacPorts tesseract ページにあります。
Homebrew
Tesseract をインストールするには、このコマンドを実行します。
brew install tesseract
tesseract ディレクトリは、brew info tesseract
を使用して見つけることができます。例: /usr/local/Cellar/tesseract/3.05.02/share/tessdata/
。
Windows
Tesseract 3.05、Tesseract 4、および Tesseract 5 用の Windows インストーラーは、マンハイム大学の Tesseract から入手できます。これらには、トレーニングツールが含まれています。32 ビットと 64 ビットの両方のインストーラーが利用可能です。
旧バージョン3.02のインストーラーは、ダウンロードページから Windows 用に入手できます。これには、英語のトレーニングデータが含まれています。別の言語を使用する場合は、適切なトレーニングデータをダウンロードし、7-zip を使用して解凍し、.traineddata ファイルを「tessdata」ディレクトリ(おそらく C:\Program Files\Tesseract-OCR\tessdata
)にコピーします。
任意の場所から tesseract-OCR にアクセスするには、tesseract-OCR バイナリがあるディレクトリ(おそらく C:\Program Files\Tesseract-OCR
)を Path 変数に追加する必要がある場合があります。
エキスパートは、Appveyor Continuous Integration のビルドアーティファクトから Visual Studio でビルドされたバイナリを入手することもできます。
Cygwin
tesseract-ocr のリリースバージョン >= 3.02 は、Cygwin の一部として提供されています。
利用可能な最新バージョンは 4.1.0 です。告知をご覧ください。
MSYS2
tesseract-OCR をインストールします
pacman -S mingw-w64-{i686,x86_64}-tesseract-ocr
およびデータファイル
pacman -S mingw-w64-{i686,x86_64}-tesseract-data-eng
上記のコマンドでは、「eng」を、サポートされている言語のISO 639 3文字の言語コードに置き換えることができます。利用可能な言語パッケージのリストについては、次を使用します。
pacman -Ss tesseract-data
その他のプラットフォーム
Tesseract は、よりエキゾチックなプラットフォームでも動作する可能性があります。自分でコンパイルしてみるか、Tesseract を使用する他のプロジェクトのリストをご覧ください。
Tesseract の実行
Tesseract はコマンドラインプログラムであるため、まずターミナルまたはコマンドプロンプトを開きます。コマンドは次のように使用されます。
tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
したがって、「myscan.png」という画像に対して OCR を実行し、結果を「out.txt」に保存する基本的な使用方法は次のようになります。
tesseract myscan.png out
または、ドイツ語で同じことを行うには
tesseract myscan.png out -l deu
英語とドイツ語など、複数の言語のトレーニングデータを一度に使用することもできます。
tesseract myscan.png out -l eng+deu
Tesseract には、各単語の座標を含む特別な HTML ファイルを生成する hOCR モードも含まれています。これは、Hocr2PDFなどのツールを使用して、検索可能な PDF を作成するために使用できます。これを使用するには、次のように「hocr」構成オプションを使用します。
tesseract myscan.png out hocr
Tesseract から直接検索可能な PDF を作成することもできます(バージョン>=3.03)。
tesseract myscan.png out pdf
さまざまなオプションの詳細については、Tesseract マニュアルページにあります。
その他の言語
Tesseract は多くの言語でトレーニングされています。ご自身の言語がTessdata リポジトリにあるか確認してください。
他の言語やスクリプトをサポートするようにトレーニングすることもできます。詳細については、TrainingTesseractを参照してください。
開発
Tesseract は、Apache License 2.0 の条件の下で、独自のプロジェクトで使用することもできます。完全に機能する API を備えており、Android や iPhone を含むさまざまなターゲット向けにコンパイルできます。これを使用して何が行われたかのサンプルについては、サードパーティページを参照してください。Mac 向けに開発されているサードパーティの Tesseract OCR プロジェクトはまだ非常に少ないことに注意してください(唯一のものは Tesseract macOS.md です)が、Tesseract を OCR エンジンとして使用している可能性のある Mac で使用できるオンライン OCR サービスはいくつかあります。
また、これはフリーソフトウェアであるため、参加して支援したい場合は、ぜひご協力ください。バグを見つけて自分で修正した場合、最良の方法は、Issue List のバグレポートにパッチを添付することです。
サポート
まず、ドキュメント、特にFAQを読んで、問題がそこで解決されているかどうかを確認してください。そうでない場合は、Tesseract ユーザーフォーラムまたはTesseract 開発者フォーラムを検索し、それでも必要なものが見つからない場合は、そこで質問してください。