【发布时间】:2012-06-04 16:04:56
【问题描述】:
到目前为止,我有一个空且干净的 Eclipse Java 项目。
我需要做什么才能使用Tess4J 作为我想要开发的 Web 服务的库?
甚至可以将它用作 Android 项目的库吗? (会走捷径很多) 我遇到了一个关于.tif 与android 的问题。
Tess4J 是原生代码的包装器,因为 tesseract-ocr 是用 C/C++ 编写的。我到目前为止。但是如何将这个包装器包含到我的项目中呢?
在我决定放弃tesseract.Net 之前,我已经在 Google 上搜索了很多,因为这个项目的维护/记录很差,并且会迫使我使用 C#(这没关系),但我没能成功工作,所以我不得不默认使用 C/C++(这不行);)
我现在有点迷茫,所以欢迎任何帮助。 问候。
编辑:按照提到的步骤here(来自 nguyenq 的回答)
1:新的 Eclipse 工作区
2:创建了一个名为lib的新目录
3:将\Tess4J\dist\tess4j.jar、\Tess4J\lib\jna.jar和\Tess4J\lib\jai_imageio.jar复制到lib(2)
4:在Eclipse中新建一个Java项目
5:在项目属性 (4) 中,我将 (3) 中的 .jar 作为库下的外部 jar 添加到 Java 构建路径
6:我将目录\tessdata和libtesseract302.dll复制到项目根目录\workspace\project\
7:我创建了一个新类 Main 并实例化了一个 Tesseract1 tesseract = new Tesseract1(); 用于测试
8:我运行应用程序但抛出异常:Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'libtesseract302' Module not found
编辑2:
7.1:我创建了一个新类 Main 并实例化了一个 Tesseract tesseract = new Tesseract.getInstance(); 用于测试(来源:here)
8.1:目前看起来还不错,但没有实现任何逻辑,只是尝试构建它。
编辑3:
9:不,不起作用。仍然 UnsatisfiedLinkError。这可能是关于 32 位与 64 位的问题吗? 我正在开发 Win7 64 位。
【问题讨论】:
-
哦,差点忘了:它必须是 tesseract 3.x 引擎,因为它支持多列。
-
这个 Apache licensed app 可能是一个很好的起点 - 它的 tesseract 2.03,所以可能需要做很多工作来适应 3.x。
-
比您正在使用的操作系统更有趣的是:您在哪个 JVM 上执行您的应用程序?
标签: java android ocr tesseract