BREW 文字認識アプリ "Recog"
文字認識アプリの使用方法と構造
使用方法
最初に、文字を認識するために、文字の「形」に関する情報を収集します。
文字認識アプリ "Recog" を MAKE_PARCOR_TABLE マクロを定義してコンパイルし、エミュレータで実行して、table.dat ファイルを作成します。
BREW 2.1 のエミュレータでは、カメラ機能を使用できません。エミュレータでテストするには、"Recog" を EMULATOR_TEST マクロを定義してコンパイルします。テストで使用する画像は、Recog.cpp ファイルの TEST_CHAR で決定します。
エミュレータのテストは、文字の認識結果を表示するだけです。輪郭の検出結果を知りたい場合は、EMULATOR_TEST マクロに加えて DRAW_CHAR マクロを定義してコンパイルします。
実機で実行する場合、マクロは定義せずにコンパイルします。実行ファイルを端末に転送するとき、table.dat もコピーします。
実機での操作方法は次の通りです。
キー | 機能 |
---|---|
選択 | 撮影 (認識) / プレビュー モードに復帰 |
左 | 画像を暗くする |
右 | 画像を明るくする |
0 | 終了 |
※ 処理の経過をデバッグ ウィンドウに表示する設定になっています。不要な場合は QUIET マクロを追加定義してコンパイルします。
構造
文字認識アプリは、以下のクラスから構成されています。
クラス名 | 機能 |
---|---|
Array | 任意の型を保持できる動的配列です。 |
Bitmap | 画像を取り扱うクラスです。このチュートリアルで詳しく解説します。 |
Camera | カメラを処理するクラスです。詳しくは SimpleCamera チュートリアル をご覧ください。 |
Complex | 複素数を取り扱うクラスです。 |
Matrix | 2 次元配列を取り扱うクラスです。 |
Recog | アプレット クラスです。 |
RecogEngine | 画像解析と認識処理を行うクラスです。 |
このチュートリアルでは解説しませんが、RecogEngine クラスで行っている処理は順に、
- グレイ スケール化
- ノイズ除去
- 2 値化
- 輪郭検出
- 複素 PARCOR 係数の計算
- 判定
となっています。
各処理の詳細は パターン認識入門 をご覧ください。