tesseract-ocr その2 学習させてみる

まず、apt-get でインストールしても、training-tools が入っていません。

やむなく、コンパイルします。

また、依存関係の問題で、 tesseract-ocr 3.05 と leptonica-1.74.1 の組み合わせになりました。

tesseract-ocr 3.05 は Leptonica 1.74 or higher is required. なので必要でした。

Leptonica を準備する

まず、apt-get で入る Leptonica について。

$ sudo apt-cache policy libleptonica-dev
libleptonica-dev:
  インストールされているバージョン: 1.70.1-1
  候補:               1.70.1-1

です。

ソースからコンパイルですね。

http://www.leptonica.com/download.html

$ cd leptonica-1.74.1
$ ./configure
$ make
$ make install

tesseract-ocr を準備する

GitHub - tesseract-ocr/tesseract: Tesseract Open Source OCR Engine (main repository)

The latest stable version is 3.05.00, released in February 2017. とあるから、gitから 3.05 が入るんだろう。(間違い)

ソースをゲットして、展開してコンパイルする

$ git clone https://github.com/tesseract-ocr/tesseract.git
$ cd tesseract-ocr(だったかな?)
$ ./autogen.sh
$ ./configure --prefix=/usr/local/tesseract/
$ make
$ sudo make install
$ sudo ldconfig

training-toolsもコンパイルする

$ make training
$ sudo make training-install

PATH 通す

export TESSDATA_PREFIX=/usr/local/tesseract/share/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

を、.bashrc などに足しておく。

バージョン確認
$ /usr/local/tesseract/bin/tesseract -v
tesseract 4.00.00alpha
 leptonica-1.74.1
  libjpeg 8d (libjpeg-turbo 1.3.0) : libpng 1.2.50 : libtiff 4.0.3 : zlib 1.2.8

 Found SSE

あれ??? 4.00.00 alpha がインストールされたぞ?最新バージョンは 4.00.00 だったらしい。

やり直し

$ wget https://github.com/tesseract-ocr/tesseract/archive/3.05.00.tar.gz -O tesseract-ocr.tar.gz
$ cd tesseract-3.05.00
$ ./autogen.sh
$ ./configure --prefix=/usr/local/tesseract/
$ make
$ sudo make install

$ sudo make install
$ sudo ldconfig

$ /usr/local/tesseract/bin/tesseract -v
tesseract 3.05.00
 leptonica-1.74.1
  libjpeg 8d (libjpeg-turbo 1.3.0) : libpng 1.2.50 : libtiff 4.0.3 : zlib 1.2.8

$ /usr/local/tesseract/bin/tesseract hw.png out -l eng
Tesseract Open Source OCR Engine v3.05.00 with Leptonica
kiyo@kiyo-PowerEdge-T410:~$ cat out.txt 
HeIIow world.

学習 jTessBoxEditor

jTessBoxEditor 起動

$ java -jar jTessBoxEditor.jar

簡単な手順

・"TIFF/Box Generator" タブから、Output の場所と、言語、フォントを設定し、Generate する。 ・Generate されたBOXは、"BOX Editor" タブでOpenすると確認できる。 ・"Trainer"タブから、Tesseract のPathを指定し、Training Data を指定して、RUN すると、指定したディレクトリに tessdata/***.traineddata が作成される。 ・***.traineddata を、tesseract の tessdata ディレクトリに入れる。

テスト

f:id:pongsuke:20170412153611p:plain

0123456789

f:id:pongsuke:20170412153616p:plain

7894561230

なお、上記2つは成功した例ですが、作成した学習データと、読ませるフォントが異なると上手に判定できません。