我之前开发了一个光学字符识别器,它完全专注于字体类型及其大小。我只是计算字体的高度和宽度,并找出与数据库值进行比较的比例,然后选择字体。
我想将逻辑扩展到所有类型的字体和大小。我想使用人工智能来实现。我已经看了一些开源光学字符识别的代码,但这些对我没有帮助。
请指导我应该如何开始开发自己的光学字符识别器。我希望将其作为一个开源项目提供给全世界,并且还想为Java中的进一步项目特定开发提供API。
提前感谢。
回答:
有很多算法和具体工具可用于此目的。主流趋势是使用人工神经网络。在Java中,最好的ANN库是Neuroph。你也可以使用Matlab来做这件事,然后从Java中调用它(有很多教程说明如何做到这一点 http://www.cs.virginia.edu/~whitehouse/matlab/JavaMatlab.html)。还有R语言也可以帮助你。
现在还有很多新的光学字符识别方法:计算智能甚至是这样的东西:http://www.amazon.com/Knowledge-Based-Intelligent-International-Computational-Intelligence/dp/084939807X