Help us understand the problem. What is going on with this article?

tesseractを使ってみよう(初心者編)

More than 1 year has passed since last update.

はじめに

OCRに触れてみようということで、オープンソースで手軽に試せるtesseractを使ってみることにしました。
ここでは、画像を読み込ませて、画像内の読み取った文字列を出力するまでにやったことをメモに残しました。

ここでは、3系のインストールになっているので、すんなり4系が入らない場合は、こちら

tesseractとは

インストール

上記のサイトを見ながら、Ubuntu 16.04.4 LTS にインストールしてみます。

  • コマンドの実行
$ sudo apt install tesseract-ocr
$ sudo apt install libtesseract-dev
  • インストール後の確認
$ tesseract -v
tesseract 3.04.01
 leptonica-1.73
  libgif 5.1.2 : libjpeg 8d (libjpeg-turbo 1.4.2) : libpng 1.2.54 : libtiff 4.0.6 : zlib 1.2.8 : libwebp 0.4.4 : libopenjp2 2.1.2

実行してみる

  • まずは普通に実行

    • 出力先ファイルは、output.txtになる。(拡張子は自動的に付与される)
    • $ tesseract test.png output
  • -l jpn のオプション追加で日本語指定をすると何やらエラーが…

$ tesseract test.png output -l jpn
Tesseract Open Source OCR Engine v3.04.01 with Leptonica
Error opening data file /usr/share/tesseract-ocr/tessdata/jpn.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'jpn'

日本語対応をさせる

  • 下記サイトから日本語の言語ファイルを落としてくる
  • 上記のエラーメッセージにもあるとおり、/usr/share/tesseract-ocr/tessdata/ に日本語用のファイルがないというので、そこに保存
$ wget https://github.com/tesseract-ocr/tessdata/raw/master/jpn.traineddata
  • 再度日本語指定で実行してみると問題解消!
  • 補足:エラーメッセージにあるように、環境変数(TESSDATA_PREFIX)で指定するという方法もあるようです。

結果

PythonのWikiの目次のスクリーンショットを撮って試してみた結果がこちら。
きれいに読み取っているところもあれば、何がなんだか分からないのもあり。

読み込ませた画像(左)とその結果(右)

test04xx.png

コマンドにオプション追加で、何ができるのかはまだ分かっていないので、試してみようと思います。

tifa2chan
主にアプリ開発をしています。
future
ITを武器とした課題解決型のコンサルティングサービスを提供します
http://future-architect.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away