这主要是出于好奇,但是纯 Java 中是否有任何 OCR 实现?我很好奇这将如何纯粹在 Java 中执行,而 OCR 通常让我感兴趣,所以我很想看看它是如何用我完全理解的语言实现的。自然,这需要实现是开源的,但我仍然对专有解决方案感兴趣,因为我至少可以检查这种情况下的性能。
我见过一些可以在 Java 中使用的(比如Asprise),但似乎这些不是纯 Java 实现......有吗?
我建议在 sourceforge.net 上尝试Java OCR项目。我最初开发了它,并且我有一篇关于它的博客文章。
自从我把它放在 sourceforge 上后,它的功能通过志愿者研究人员/开发人员的出色工作得到了相当大的扩展和改进。
试一试,如果你不喜欢它,你可以随时改进它!
我们已经使用 Java 测试了一些 OCR 引擎,例如 Tesseract、Asprise、Abbyy 等。在我们的分析中,Abbyy 给出了最好的结果。
如果您正在寻找一个非常可扩展的选项或有一个特定的问题域,您可以考虑使用Java Object Oriented Neural Engine自行开发。另一个JOONE参考。
我在个人项目中成功地使用了它来识别来自这样的图像的字母,您可以在 github 上找到我的应用程序的 OCR 组件的所有源代码,here。
There are a variety of OCR libraries out there. However, my experience is that the major commercial implementations, ABBYY, Omnipage, and ReadIris, far outdo the open-source or other minor implementations. These commercial libraries are not primarily designed to work with Java, though of course it is possible.
Of course, if your interest is to learn the code, the open-source implementations will do the trick.