我想在java中构建一个示例应用程序,该应用程序将读取图像文件并输出从图像中提取的文本。我发现Tesseract项目看起来很有前途,但是,它的C++。为了使用它,我应该简单地运行它作为我的Java应用程序的命令行Runtime.exec(...)
?或者有更好的解决方案,也许是JAR?此外,这仅仅是一个示例应用程序,将其作为命令行应用程序从可伸缩性角度来看是一个问题?使用从java的Tesseract
回答
您是否试过tess4j:http://tess4j.sourceforge.net/。
它是windows的tesseract的JNI包装。
我在我的java代码中使用了tesseract项目。所有你需要做的是
- 获取tess4j jni包装tesseract。
- 在您的IDE中打开tess4j proj,并将源包和库添加到您自己的
项目中。 - 编写为tesseract类创建实例的代码,然后将其用于执行OCR的
。
请看看这个http://tphangout.com/?p=18
它详细介绍了如何建立一个Java项目来读取图像,并使用OCR的Tesseract API将其转换成文本指令。
漂亮的博客文章。 – shyos
现在tescract是由javacv项目提供的,这比使用Tess4J要好得多,因为所需要的只是为您的pom文件添加一个依赖项,然后将自动下载并链接您的平台的本机库为你的javacv tesseract版本。
我在这里创造一个例子Maven项目 - https://github.com/piersy/BasicTesseractExample
和这里的例子gradle这个项目 - https://github.com/piersy/BasicTesseractExampleGradle
对于这个我的Ubuntu的机器上工作,我需要更新我安装的libstdC++ 6
我通过运行以下代码实现了这一点,尽管只是安装libstdC++ 6可能适用于您。
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install libstdc++6
注意gradle这个项目不进行自动安装,但仍然是一个很大比使用Tess4J
的javacv项目简单的地狱就在这里 - https://github.com/bytedeco/javacpp-presets/tree/master/tesseract
大道具的javacv大家,只希望我能早点发现它,因为它可以让我在tess4j的一个星期内在多个平台上工作。
tnx为示例,但我在我的Mac上,“我的mvn干净安装”时,得到错误“java.lang.UnsatisfiedLinkError:没有jnilept在java.library.path”,有什么想法? – Spring
详细错误“Library not loaded:/Users/saudet/projects/bytedeco/javacpp-presets/leptonica/cppbuild/macosx-x86_64/lib/liblept.4.dylib” – Spring
我也尝试在Mac上安装libstdC++ 6,但没有找到任何信息要安装什么,以及如何安装和如何 – Spring
- 1. EmguCV从哪里使用tesseract?
- 2. 使用Tesseract的iOS
- 3. Android - 使用tesseract
- 4. 使用tesseract为Android
- 5. 在Linux中的Java tesseract错误“无法加载库'tesseract':libtesseract.so”
- 6. 在Windows中使用tesseract的Java OCR程序
- 7. iPhone:如何使用Tesseract
- 8. 在android上使用tesseract
- 9. 使用JTessBoxEditor培训Tesseract-OCR
- 10. 如何使用Tesseract-android-tools
- 11. 高级使用Tesseract OCR
- 12. 使用Tesseract with visual studio 2012
- 13. Tesseract CPU使用率100%
- 14. 在MTG卡上使用tesseract
- 15. 在Ubuntu下使用tesseract
- 16. 从Python应用程序中使用Tesseract OCR的性能问题
- 17. 使用C++的Tesseract API的包装类
- 18. 如何在android和eclipse和java中使用tesseract OCR
- 19. 使用tesseract时的链接器错误
- 20. 通过Intent使用基于Tesseract的OCR
- 21. Tesseract使用的过滤器类型
- 22. 如何使用Tesseract从Android中的图像读取单行
- 23. 使用tesseract从图片中读取突出显示的文本
- 24. 从PNG数据到tesseract
- 25. Tesseract:从矩形读取
- 26. 无法编译使用Tesseract 3.0.2.02的WIndows的Tesseract API示例档案
- 27. 的Tesseract-OCR 3.02用的libC++
- 28. 如何在C#中使用tesseract的其他语言Tesseract 3.02 + Emgu 2.4.9
- 29. Tesseract用户模式
- 30. 禁用Tesseract中的字典
http://tess4j.sourceforge.net/,但从来没有尝试过。 – miku
好找,@miku。它使用JNA,这将是对请求(即JNI)的答案,但不需要重新发明轮子... – PhiLho