MacでSikuliXの画像文字認識をさせてテスト自動化できる範囲を増やす


はじめに

SikuliとTesseractの画像文字認識(OCR)機能を使って主にFlexのテスト自動化を強化したい。

環境

  • Maac OS X El Capitan
  • JRE (build 1.8.0_71-b15)

インストール

Setupを実行。

https://launchpad.net/sikuli/sikulix/1.1.0
sikulixsetup-1.1.0.jar

チェックはOpt1と3につけておく。

もしうまく動かない時は
オプション1だけでセットアップしておく。

最後に「Have a fun」というダイアログがでればセットアップ完了。

Sikuliはsetupを実行したディレクトリに作成されるので、
そのアイコンをクリックして起動させる。

アプリケーションフォルダに移動させておくと良いと思う。

Tessdataの追加

OCR機能であるTesseractは、実はOpt3選択しなくてもライブラリまではインストールされる。
なので、Opt3を選択しないでインストールして、後でTessdataを追加しても良い。

Sikuli 1.1.0ではTessractのライブラリは以下のディレクトリに作成される。

/Users/butada/Library/Application Support/Sikulix

ディレクトリ構成は以下のとおり。

├── SikulixLibs_201510051707
│   ├── 1.1-MadeForSikuliX64M.txt
│   ├── SetFile
│   ├── libMacHotkeyManager.dylib
│   ├── libMacUtil.dylib
│   ├── libVisionProxy.dylib
│   ├── libjpeg.8.dylib
│   ├── liblept.3.dylib
│   ├── libopencv_java248.dylib
│   ├── libpng15.15.dylib
│   ├── libtesseract.3.dylib
│   └── libtiff.5.dylib

Opt3を選択してインストールするとTessdataは以下のように配置される。

└── SikulixTesseract
    └── tessdata
        ├── eng.cube.bigrams
        ├── eng.cube.fold
        ├── eng.cube.lm
        ├── eng.cube.nn
        ├── eng.cube.params
        ├── eng.cube.size
        ├── eng.cube.word-freq
        ├── eng.tesseract_cube.nn
        └── eng.traineddata

手動でSikulixTessractフォルダを作成し、
そこにダウンロードしたtar.gzを解凍して展開するのも可能。

上のファイルだけだと英語だけなので、
日本語などに対応させたい場合は別途GitHubから入手し、同様に配置する。
https://github.com/tesseract-ocr/tessdata

参考