Tesseract-OCR(テッセラクトOCR)はGoogleが提供しているOCRエンジンです。
このTesseract-OCRはオープンソースであることもさることながら、機械学習によりさまざまな言語に対応したり、精度を上げることができることも魅力の一つです。
今回はそのTesseract-OCRをUbuntuにインストールするところから、実際に文字を読み取るまでを紹介したいと思います。
また公式のドキュメントの他に以下のサイトを参考にさせていただきました。
日々是酩酊
http://badly-drunk.blogspot.jp/2011/10/tesseractocr.html
公式:tesseract-ocr
https://code.google.com/p/tesseract-ocr/
インストール
まずtesseract本体をインストールする前に、必要なライブラリなどをインストールします。
$ sudo apt-get install libpng-dev
$ sudo apt-get install libjpg-dev
$ sudo apt-get install libtiff-dev
$ sudo apt-get install zlib1g-dev
tesseract本体もapt-getでインストールできます。
$ sudo apt-get install tesseract-ocr
バージョンの確認をして3.01以上なら成功です
3.00以下だと機械学習のところでエラーがでてしまいます。
私はそれではまりました・・・(遠い目)
$ tesseract -v
tesseract 3.02
インストールが完了したら、以下のコマンドでOCRを実行します。
$ tesseract [読み込みたい画像ファイル名(拡張子あり)] [出力ファイル名(拡張子なし)] -l eng
例
tesseract sample.tif result -l eng
これでresult.txtが出力されていれば成功です。
日本語対応
Tesseract-OCRで日本語(英語以外の言語)を読み込む場合、以下のサイトから学習データをダウンロードし、それをTesseract-OCRに読み込ませることで様々な言語に対応することができます。
以下のサイトから欲しい言語の最新の学習データをダウンロードしてください。
https://code.google.com/p/tesseract-ocr/downloads/list
コマンドでダウンロードする場合は以下のようにします。
バージョンなどを上記のサイトから確認して、適宜読み替えてからダウンロードしてください。
$ wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.jpn.tar.gz
ダウンロードが完了したら、解凍し中にあるjpn.traineddataというファイルを
/usr/local/share/tessdata
にコピーします。
tar xvzf tesseract-ocr-3.02.jpn.tar.gz
cp ./tesseract-ocr/tessdata/jpn.traineddata /usr/local/share/tessdata
これで日本語に対応することができました。
試しに日本語の画像を読み込んでみます。
$ tesseract sample_jpn.tif result_jpn -l jpn精度は低いと思いますが、無事読み込めていれば成功です。
Tesseract-OCRの学習につづきます。