Tesseractという、OCRエンジンがあります。また、それをAndroidで使用するための、tesseract-android-tools、そして、更にそれをfolkしたtess-twoと呼ばれるものがあります。この、tess-twoを使ってみることにします。
今回はtess-twoをビルドするところまで紹介いたします。
SDKとNDKの取得
この2つがないと、何も始まりません…。
SDKの入手
Get the Android SDKから、SDKを入手します。今回は、実験環境が64bit版Linuxでしたので、Linux 64-bitをダウンロードします。また、展開して、パスを通しておくと後々便利です。
| 
					 1 2  | 
						$ unzip adt-bundle-linux-x86_64-20131030.zip $ export PATH=$PATH:$HOME/dev_android/adt-bundle-linux-x86_64-20131030/sdk/tools  | 
					
NDKの入手
Android NDKからプラットフォームに合ったNDKを取得します。解凍して、パスを通しておきましょう。
| 
					 1 2 3 4 5 6 7 8 9 10  | 
						$ bzip2 -dc android-ndk-r9b-linux-x86_64.tar.bz2 | tar xvf - $ export PATH=$PATH:$HOME/dev_android/android-ndk-r9b/ $ ./ndk-build -v GNU Make 3.81 Copyright (C) 2006  Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for x86_64-pc-linux-gnu  | 
					
tess-twoの入手
基本的には、README.mdに書かれていることに従えば大丈夫です。
まず、tess-twoはGitHubで公開されていますのでcloneします。
| 
					 1  | 
						$ git clone git://github.com/rmtheis/tess-two tess  | 
					
さらに、これをビルドします。
| 
					 1 2 3  | 
						$ cd tess $ cd tess-two $ ndk-build  | 
					
このビルドは非常に時間がかかります。ビルドが完了すると、libsディレクトリに*.soファイルが生成されます。
classes.jarの作成
次のコマンドを実行して、tess-twoをjarファイルとしてエクスポートします。このjarファイルは、soファイルへアクセスするために手助けをしてくれるものだと考えるといいかと思います。
| 
					 1 2  | 
						$ android update project --path . $ ant release  | 
					
ただし、64bit版Linuxの環境では、Android SDKに含まれるaaptが動きません。ですので、AndroidアプリをAndroidを使って作るのページを参考に、必要なライブラリをインストールします。
| 
					 1  | 
						$ sudo aptitude install lib32z1-dev  lib32stdc++6    | 
					
これで、ant releaseが動くはずです。ant完了後、binディレクトリの下に、classes.jarが生成されます。
今日はとりあえずここまで…。