3

我在 Eclipse 中使用 tess4J ocr 库,并且在我的 Windows 中运行良好。但是,当我想在 linux 中运行该 java 程序时,它会给出错误“无法加载库'tesseract':libtesseract.so:无法打开共享对象文件:没有这样的文件或目录”。

我在 linux 上没有任何权限来安装 tesseract 或任何其他软件。只是我可以使用 jar 文件并通过调用 shell 脚本来运行 java 程序。请帮助我。正如我认为我的问题将通过获取 libtesseract.so 文件或帮助我如何在 Windows 中获取 libtesseract.so 来解决,以便我将在 linux 中使用它。请帮助并提前感谢

4

6 回答 6

7

使用以下命令安装 Tesseract for Linux 就足够了:

sudo apt-get install tesseract-ocr

现在您可以使用命令检查 tesseract 版本:

tesseract -v

请注意,对于 Tesseract 3.03,您可以使用 Tess4j 2.0 版。 由于不兼容,另一个版本可能会给您带来错误。

您可以在更改日志或此处获取有关不同版本兼容性的更多信息。

于 2016-02-14T09:30:21.010 回答
3

在我的情况下(centos),我从文件夹中复制了所有文件(文件名中有 lept 或 tesseract 关键字)

/usr/local/lib

到文件夹

/usr/lib64

它解决了我的问题

于 2014-07-28T12:54:04.003 回答
1

在 Linux 上,Tess4J 调用 Tesseract 本机库libtesseract.so来工作。如果您无法在 Linux 上构建或安装 Tesseract,那么您的运气会很差。也许如果您可以使用 Cygwin 或 Mingw 在 Windows 上交叉编译为 .so。

于 2013-08-24T19:03:39.497 回答
0

您必须设置 -Djava.library.path 以便可以找到该文件或调整您的标准库路径以通过扩展系统的 LD_LIBRARY_PATH 将 .so 的位置包含在 .bashrc 中

于 2013-08-24T14:28:58.737 回答
0

您需要在没有 root 的情况下安装并指定 libtesseract.so 的路径

安装在别处/没有root

Tesseract 可以配置为安装在任何地方,这样就可以在没有 root 访问权限的情况下安装它。

在 $HOME/local 中安装它:

./autogen.sh

./configure --prefix=$HOME/local/

进行安装

要使用也安装在 $HOME/local 中的 Leptonica 库将其安装在 $HOME/local 中:

./autogen.sh

LIBLEPT_HEADERSDIR=$HOME/local/include ./configure \ --prefix=$HOME/local/ --with-extra-libraries=$HOME/local/lib

进行安装

于 2014-02-25T14:35:30.837 回答
0

我也有同样的问题。Tesseract 库也存在于 /usr/local/lib 目录下。我仍然收到此错误。实际上这是链接问题。所以你必须在/etc/ld.so.conf.d/libc.conf文件中提供解析器路径的/usr/local/lib路径。在此文件中输入路径,或者您可以在同一目录中创建任何新的 conf 文件。

于 2018-12-20T11:31:47.873 回答