この前やっていた手書きノートの文字認識,そもそも単語ごとに切らなくてもよいかなと思い始めたので,行ごとに切ってテキストを入れることにしてみた.こんな感じ.
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の許可が必要です