2011-12-05 60 views
2

我正在做一個基於平板電腦的項目,用戶會寫一個方程來解決。如何使用識別器類識別數學符號?

問題是我正在使用的識別器類InkAnalyzer無法識別我輸入的根跡象或任何其他數學符號。有我添加這樣的功能嗎?

基本上,我希望我的程序的功能非常類似於Windows 7附帶的數學輸入面板。哦,我用c#編寫代碼。

+0

你只需要識別數學的字符?你可以使用這個正則表達式 – Yanshof

+0

你是什麼意思?當我做一個根標誌時,識別器將它轉換爲「其他」或問號(猜測它看起來相同)。我需要將用戶寫入的輸入轉換爲計算機根號,但我不知道如何啓用識別器來完成此操作...;) – YoungProgrammer

+0

哈哈,感謝BalamBalam,但您的評論並不真正有用。我知道我需要找到一種方法來添加數學字符集,但我不知道如何。 – YoungProgrammer

回答

1

我確定這不是你想聽到的,但基本上你不能這樣做。至少在微軟沒有內部人的幫助。爲了促進這一點,您需要開發自己的語言識別器。據我所知,這樣做的工具和文檔不會提供給第三方。

但是,您可以開發自己的識別系統,該系統利用由System.Windows.Ink API提供的現有墨水收集和筆劃模型,但它不會插入InkAnalyzer模型。利用筆畫信息將產生比簡單的OCR類型的系統更好的結果,您只需分析形狀。

微軟公司在System.Windows.Ink命名空間公開他們的數學解析能力會非常有用,但是隨着這一點出現,微軟放棄了平板電腦。然後,iPad出現並吃了他們的午餐,現在誰知道我們是否會再次關注墨水輸入。

2

Load ink to a MathInputControl in C#

在頁面提供的解決方案討論如何數學輸入控制程序。

一旦您將加載的筆畫形式的數學公式(您可以從InkCanvas控件 - 如果您不打算從別處讀取它並構造筆畫)將它們輸入到Mathus Input Control,並通過StylusPointCollection將它們存儲到StrokeCollection類並將其流入ISF(墨水序列格式)文件。

解決方案作者將ISF文件提供給數學輸入控件。還有一些工作涉及到找回解決方案 - 在管理數學輸入窗口等之前。