2015年5月17日

この前やっていた手書きノートの文字認識,そもそも単語ごとに切らなくてもよいかなと思い始めたので,行ごとに切ってテキストを入れることにしてみた.こんな感じ.

using System.Windows.Ink;

using(var analyzer = new InkAnalyzer()){
    analyzer.AddStrokes(Strokes);
    analyzer.Analyze();
    var nodes = analyzer.FindNodesOfType(ContextNodeType.Line);
    foreach(var node in nodes) {
        var rect = node.Location.GetBounds();
        // 何か描画しているつもり
        DrawString(((LineNode) node).GetRecognizedString(), rect.Left, rect.Bottom);
    }
}
って殆ど変わっていない.InkWordがLineに変わっただけ.透明テキストとして埋め込んでみた.見た目は単に文字が書いてあるだけだけど,検索するとひっかかるし選択&コピーすると抽出できるはず.ただ実際の描画位置と埋め込んだ文字の位置がずれていたり,スペースなしの一語みたいにしてあったりするので,検索して表示される位置が結構ずれる.まぁいいか.

0 件のコメント:

コメントを投稿

コメントの追加にはサードパーティーCookieの許可が必要です