2009-06-23 82 views
1

我有一个新的项目,它包含在线字符识别(在写入字符时识别字符)。我的想法是,每个角色都是由一些适合数学模型的笔划定义的。例如,'A'可以由三个线性笔划定义; 'O'可以被定义为单个循环。 使用线性回归的原因是因为不是每个笔画每次都是完美的线条或曲线。线性回归可以用来形成笔画的“可接受的范围”。Java中的字符识别

我的问题是:

  1. 有没有更好/更简单的方法来做到这一点?

  2. Java是否有一些内置的函数或模块执行线性回归?

  3. 有什么语言比Java更容易吗?

+2

看看这里: http://stackoverflow.com/questions/768664/recommendations-for-handwriting-recognition-libraries-packages-in-java – gubby 2009-06-23 19:22:58

回答

1

其中一种实现方法是构建人工神经网络并使用相关算法进行训练。该方法的本质是构建一个1和0的二维矩阵(输入矩阵)。每个元素都是神经网络的输入节点。当我们绘制一个角色时,我们将绘制的元素设置为1,然后将输入提供给ANN,并将实际角色作为输出。一旦建立了足够数量的输入变化并对输入集运行训练算法,那么通过应用上面概述的“线性冲程”方法,您应该能够获得更好的精度。

我想你应该能够找到合适的库,它可以帮助你建立你的ANN并选择合适的训练算法。我不记得我的头顶。但你可以谷歌周围看看会发生什么。干杯!

+0

我认为贝叶斯概率可能会更好! ANN应该是90年代的解决方案,但它并没有显示出多少希望。当然,它可能会成功。 – Bear 2010-01-06 06:12:30

0

我发现this website有人为几种不同的手写识别模型编写并提供了他们的代码。我不确定哪些更容易或更难,但我认为这会帮助你。我很遗憾不能回答你的其他两个问题。