我正在编写一个数学工作表应用程序,您可以使用InkCanvas
在问题的下方写下答案。问题是,如果你按照大多数人的方式写“1”,它看起来像“|”,并被识别为垂直条。似乎应该有一些方法来设置InkRecognizerContainer
只识别数字,但我找不到任何方法来做到这一点。这可能吗?
这是我目前的代码:
var recognitionResults = await inkRecognizerContainer.RecognizeAsync(inkCanvas.InkPresenter.StrokeContainer, InkRecognitionTarget.All)
string answerString = string.Empty;
foreach (var result in recognitionResults)
{
answerString += result.GetTextCandidates()[0];
}
int submittedAnswer = Convert.ToInt32(answerString);
答案 0 :(得分:1)
问题是如果你写一个" 1"大多数人这样做的方式看起来像" |",并被识别为垂直条
这应该与您选择的手写识别器有关,请查看官方Simple inking sample
第二个场景向我们展示了如何使用不同的手写识别器识别墨迹笔划
这是 Microsoft English(US)手写识别器的结果:
似乎应该有一些方法可以将InkRecognizerContainer设置为仅识别数字
InkRecognizer没有这样的设置只能识别数字,唯一可行的方法是检查结果并通知用户再次重写以获得更好的识别效果。