TiTesseract-for-iOSをインストール&実行

  • Titanium SDK : 3.2.2.GA

数字を認識するアプリを作りたくて、Titaniumで文字認識を行えるモジュールではTiTesseractが良さそうだったので使ってみました。

インストールと実行でちょっと躓いた点があったので、利用方法をメモっておきます。

インストール

GithubのInstallationに一応手順は書いてるのだけど、フォルダ構成がこんなかんじで書かれていて見難かったりするので

Directory or file the following should have been added. . ├── example │ └── tessdata ├── Tesseract.h ├── Tesseract.mm ├── leptonica ├── liblept.a ├── libtesseract_all.a └── tesseract

インストール(モジュールのzipを作る)までをまとめていきます。

必要なもの

以上の4つをダウンロードし、解凍。

1.まず、TiTesseract-for-iOSを解凍したものに、

  • tesseract-ios/Class/Tesseract.h
  • tesseract-ios/Class/Tesseract.mm

の2つをぶっこみます。

Tesseract.hには
#import <UIKit/UIKit.h>
を追加。

2.tesseract-ios-libの中にある、

  • tesseract-ios-lib-master/include/tesseract
  • tesseract-ios-lib-master/include/leptonica
  • tesseract-ios-lib-master/lib/liblept.a
  • tesseract-ios-lib-master/lib/libtesseract_all.a

の4つをまたまたTiTesseract-for-iOSを解凍したものにぶっこみます。
tesseract-ocrはここではまだ使いません。

Build

上記の手順が完了したらTerminalで

cd TiTesseract-for-iOS
python build.py

を事項すると、たぶん

  • net.appios.titesseract-iphone-1.1.0.zip

というファイルが生成されるはずです。
生成されない人は頑張りましょう。

モジュールインストール

モジュールインストールする手順は割愛します、ググって下さい。

使用方法

<module platform="iphone" version="1.1.0">net.appios.titesseract</module>

をtiapp.xmlに記述します。

GithubのUsageとほぼ同じ内容になりますが、以下を.jsファイルに記述します。

var TiTesseract = require('net.appios.titesseract');
var ocrImage = Titanium.Filesystem.getFile(Titanium.Filesystem.resourcesDirectory + '/ocr.png');
var whitelist = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
var lang = 'eng';
var recognizedText = TiTesseract.recognizedText(ocrImage.toBlob(), lang, whitelist);
Ti.API.info("ocr.png -> " +recognizedText);

これで実行すると、
Tesseract couldn't load any languages!
みたいなエラーが出ると思います。

そしたら、ここでtesseract-ocrの出番です。
tesseract-ocrの中にtessdataというフォルダが有ると思います。そのフォルダを Titanium_Studio_Workspace/xxxxxxxx/app/assets/
以下に設置して下さい。

設置し終わったら、実行してみてください。

[INFO] :   ocr.png -> XXMP2X8H62DGPF 78

となるはずです、以上!