Java OCR实现[关闭]


160

这主要只是出于好奇,但是在纯Java中是否有任何OCR实现?我很好奇这将如何在Java中完全实现,而OCR通常令我感兴趣,所以我很想看看它是如何以我完全理解的语言实现的。自然,这将要求实现是开源的,但是我仍然对专有解决方案感兴趣,因为我至少可以检查这种情况下的性能。

我已经看到了可以在Java中使用的一对夫妇(例如Asprise),但似乎这些不是纯Java实现...有没有?


@Robik首先,在使用它的同时,您还应该删除不必要的感谢等。其次,您不应该在这样的假设下进行编辑,尤其是在OP仍处于活动状态并且您可以简单地发表评论时-尽管它可能会在这种情况下是正确的……@ rat只是为了澄清,您是说惊奇吗?
Tobias Kienzler

如果您不寻求纯Java方法,那么也许构建一个JNI桥(例如Tess4J)就很有意义。我的感觉是,OCR库在C ++的世界有更好的代表性(OCRAD,GOCR,楔形文字-查看所有在这里)。
dma_k 2014年

@rat-是的-Asprise OCR SDK for Java不是基于纯Java的。实际上,在后台,将本机代码用作OCR是一个计算量很大的过程。
Asprise支持

Answers:


81

我建议在sourceforge.net上尝试Java OCR项目。我最初是开发它的,并在上面发布了博客

自从我将其放在sourceforge上以来,它的功能通过志愿者研究人员/开发人员的出色工作得到了扩展和改进。

试试看,如果您不喜欢它,可以随时进行改进!


18
@Ron我也看过这个项目。我没有找到演示,GUI进行了各种图形操作,但是没有有关如何进行实际字符识别的说明。
James P.

1
@Ron,当我点击指向您博客的链接时,我会看到空白页。
neoneye 2013年

3
@Ron我可以在哪里获得文档或其他博客或教程。
altsyset 2014年

1
如何在Eclipse中导入java ocr?
Faisal Ashraf

2
嗨,有没有相关的教程?
2015年

10

我们已经使用Tesseract,Asprise,Abbyy等Java测试了一些OCR引擎。在我们的分析中,Abbyy给出了最佳结果。


1
Java API或Java实现。
Ewoks,2012年

都没有,但是您可以使用与之交谈的命令行版本ProcessBuilder
亚伦·迪古拉

1
Tesseract和Abbyy都不基于Java。他们只是具有Java的API。
krispy 2014年

10

如果您正在寻找一个非常可扩展的选项或有一个特定的问题域,则可以考虑使用Java Object Oriented Neural Engine自己滚动。另一个JOONE参考。

我成功地用它在一个个人项目,以确定从图像信如这个,你可以找到所有的来源我的应用程序的GitHub上的OCR组件,在这里


1
哦,谢谢你的例子。我下载了它,并计划使其适应自己的需求!
阿曼达·S

你能告诉我如何编译吗?
RadijatoR

恐怕该项目不再维护@RadijatoR,因此我无法提供任何建议。
davetapley15年

4
大多数链接已死。
Erik

5

有各种各样的OCR库。但是,我的经验是,主要的商业实现ABBYY,Omnipage和ReadIris远远超过了开源或其他次要实现。这些商业库并不是主要设计用于Java,但是当然可以。

当然,如果您的兴趣是学习代码,那么开源实现将解决问题。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.