http://tabletpc.comgate.jp/

タブレットPC(Tablet PC)とThinkPad、iPhone、iPadについての情報、活用法、雑談など
[このサイトの使い方] [掲示板] [リンク集] [iPhone/Taiatari] [太郎君の備忘録・付箋] [iPod touch blog]

Google
<< June 2018 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
 
COUNTER
  • 累計 
RECENT COMMENT
RECENT TRACKBACK
MOBILE
qrcode
PROFILE
無料ブログ作成サービス JUGEM
 
InkPictureのテキスト変換
nextInkEditとInkPictureでチラッと書いたInkPictureのオブジェクトに書いたインクデータのテキストへの変換方法について
コードはこんな感じになる。
Recognizer recognizer = recognizers.GetDefaultRecognizer();
RecognizerContext context = recognizer.CreateRecognizerContext();
context.Strokes = InkPicture.Ink.Strokes;
context.EndInkInput();

RecognitionStatus status;
RecognitionResult result = context.Recognize(out status);
return result.TopString;

この中でInkPictureというのがペンで実際に文字を記入したオブジェクトである。
InkPicture.Inkとすることでインクデータを取得できる。
最終的にはresult.TopStringでテキスト変換されたデータの文字列を取得できる。
TopStringというのは、いくつかの変換候補が出てきたとき一番よさげな候補を取得するということ。
IMEなんかの日本語変換をイメージしてもらうと分かりやすいと思うけど、いくつかの候補が出くるけど最適そうなのを取り出してくれる。
もちろん、候補の一覧を出して選択させるってことも可能。

実際変換をした結果はこんな感じ。
変換前
変換前
変換後
変換後
今回は2つのInkPictureオブジェクトを使っている。
上の横長の白い領域と、少し大きめのピンクの領域の2つがInkPictureオブジェクトになっている。
上の変換結果は正しく「あいうえお」と変換されているのが分かると思う。
面白いのは下の領域で、無造作なレイアウトで書いているが「あいうえおか」と正しく変換されている。
文字の順番は、見た感じ「あかいうえお」と変換されてもよさそうなもだが、筆者が文字を書いた順番が「あいうえおか」という順番だったのでその順番が再現されたようだ。
この辺の変換のロジックは興味深く奥が深そう。
蛇足だが、いろいろとヒントを与えることで文字認識の精度を上げることができるようだ。
今回筆者は何もしていないが、例えば数字だとかアルファベットだとか文字の種類を教えるなどすることで精度を上げることができるようだ。
今回はRecognizerContextというのを使っているが、Dividerというのを使う方法もあるらしい。
こちらは、認識処理前にインクを文字と絵に分けるということもできるらしく、こっちを使えば文字と絵が混ざっていてもいい感じに認識してくれるかもしれない。
そのうち試してみようと思う。
コメント
コメントする









 
トラックバック
この記事のトラックバックURL
http://tabletpc.comgate.jp/trackback/313733
 

(C) 2018 ブログ JUGEM Some Rights Reserved.