在Eclipse中将Tess4J作为库包含到Java项目中

在Eclipse中将Tess4J作为库包含到Java项目中,java,android,ocr,tesseract,Java,Android,Ocr,Tesseract,到目前为止,我有一个空的、干净的EclipseJava项目。 要将Tess4J用作我要开发的web服务的库,我必须做些什么? 甚至可以将其用作Android项目的库吗?(可能会有很多缺点)我遇到了一个关于android的.tif的问题 Tesser4j是本机代码的包装器,因为tesseract ocr是用C/C++编写的。到目前为止我已经做到了。但是如何将这个包装器包含到我的项目中呢 我在谷歌上搜索了很多,直到我决定放弃teseract.Net,因为这个项目的维护/文档记录不好,会迫使我使用C#

到目前为止,我有一个空的、干净的EclipseJava项目。 要将
Tess4J
用作我要开发的web服务的库,我必须做些什么? 甚至可以将其用作Android项目的库吗?(可能会有很多缺点)我遇到了一个关于android的
.tif
的问题

Tesser4j是本机代码的包装器,因为tesseract ocr是用C/C++编写的。到目前为止我已经做到了。但是如何将这个包装器包含到我的项目中呢

我在谷歌上搜索了很多,直到我决定放弃
teseract.Net
,因为这个项目的维护/文档记录不好,会迫使我使用C#(这没问题),但我没能让它正常工作,所以我不得不默认使用C/C++(这没问题)

我现在有点迷路了,欢迎任何帮助。 问候

编辑:按照前面提到的步骤(nguyenq的答案)

1:新的Eclipse工作区

2:创建了一个名为
lib

3:将
\Tess4J\dist\Tess4J.jar
\Tess4J\lib\jna.jar
\Tess4J\lib\jai_imageio.jar
复制到
库中(2)

4:在Eclipse中创建了一个新的Java项目

5:在项目属性(4)中,我将(3)中的.jar添加到Java构建路径中,作为库下的外部jar

6:我将目录
\tessdata
libtesseract302.dll
复制到项目根目录
\workspace\project\

7:我创建了一个新类
Main
,并实例化了一个
Tesseract1 tesseract=new Tesseract1()用于测试

8:我运行了应用程序,但引发了异常:
线程“main”java.lang中的异常。未满足链接错误:无法加载库“libtesseract302”,未找到模块

Edit2:

7.1:我创建了一个新类
Main
,并实例化了一个
Tesseract-Tesseract=new-Tesseract.getInstance()用于测试(来源:)

8.1:到目前为止看起来还不错,但没有实现任何逻辑,只是尝试构建它

Edit3:

9:不,不行。仍然不满意链接错误。这可能是关于32位与64位的问题吗?
我正在使用Win7 64位。

按照以下链接中描述的步骤让Tess4J在Eclipse中运行:

我不确定该库是否会在Android上运行,因为该平台上似乎还没有JNA支持


如果您需要Tesseract 3.01的.NET包装,请查看。

此问题的原因是.dll库不支持64位版本的Eclipse和JDK(使用JRE)。您必须安装32位版本的JDK和Eclipse,并再次重复此过程。对我来说工作很好。

哦,差点忘了:它必须是tesseract 3.x引擎,因为它支持多列。这可能是一个很好的起点——它的tesseract 2.03,因此可能有很多工作要使它适应3.x。比您正在使用的操作系统更有趣的是:您在哪个JVM上执行应用程序?谢谢!“你能帮我检查一下我的步骤吗?”我在问题中写道?似乎有一个小故障我找不到。项目结构和文件位置看起来正确。您缺少1个文件liblept168.dll,这是libtesseract302.dll处理图像所需的Leptonica库。请确保将示例图像eurotext.tif添加到workspace\project\中。切换到32位JRE似乎可以做到这一点。现在在加载TraineData时,它会与“\”和“/”混淆,但是如果我已经解决了这个问题,我想我将能够使用Tess4J.congat!我想问一下JDK的特性,因为你已经提到了,但是你已经知道了。Tesseract和Leptonica DLL都是32位二进制文件。谢谢,前面已经讨论过了。在这种情况下,IDE的比特数并不重要。