【问题标题】:How to recognize mathematical symbols using recognizer classes?如何使用识别器类识别数学符号?
【发布时间】:2011-12-05 12:41:34
【问题描述】:

我正在为基于平板电脑的个人电脑做一个项目,用户将在其中编写要求解的方程。

问题是我正在使用的识别器类InkAnalyzer 无法识别我输入的根符号或任何其他数学符号。有没有办法让我添加这样的功能?

基本上,我希望我的程序能够像 Windows 7 附带的数学输入面板一样运行。哦,我用 c# 编写代码。

【问题讨论】:

  • 您只需要识别数学字符吗?您可以为此使用正则表达式
  • 什么意思?当我制作一个根号时,识别器将其转换为“其他”或问号(猜它看起来一样)。我需要将用户写入的输入转换为计算机根符号,但我不知道如何启用识别器来执行此操作... ;)
  • 哈哈,谢谢BalamBalam,但你的评论并不是很有用。我知道我需要找到一种方法来添加数学字符集,但我不知道如何。

标签: c# wpf tablet-pc handwriting


【解决方案1】:

Load ink to a MathInputControl in C#

页面中提供的解决方案讨论了如何对数学输入控件进行编程。

一旦你以笔画的形式加载了你的数学方程(你可以从 InkCanvas Control 获取它们 - 如果你不打算从其他地方读取它并构造笔画)通过 StylusPointCollection 到数学输入控件并将它们存储到 StrokeCollection 类和将其流式传输到 ISF(墨水序列化格式)文件中。

解决方案作者将 ISF 文件提供给数学输入控件。还需要做更多的工作来恢复解决方案 - 在此之前管理数学输入窗口等。

【讨论】:

    【解决方案2】:

    我确定这不是您想听到的,但基本上您不能这样做。至少在微软没有内部帮助的情况下并非如此。为了促进这一点,您需要开发自己的语言识别器。据我所知,这样做的工具和文档并未提供给第三方。

    但是,您可以开发自己的识别系统,利用System.Windows.Ink API 提供的现有墨水收集和笔画模型,但它不会插入InkAnalyzer 模型。使用笔画信息将产生比您仅分析形状的简单 OCR 类型的系统更好的结果。

    在 System.Windows.Ink 命名空间中公开他们的数学解析功能对 Microsoft 来说非常有用,但随着它的推出,Microsoft 放弃了平板电脑。然后 iPad 出现并吃了他们的午餐,现在谁知道我们是否会再次看到对墨水输入的关注。

    【讨论】:

      猜你喜欢
      • 2016-08-09
      • 1970-01-01
      • 1970-01-01
      • 2011-07-16
      • 2017-05-18
      • 2013-12-25
      • 2014-04-25
      • 1970-01-01
      相关资源
      最近更新 更多