1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux java ocr_Linux环境如何支持使用tess4j进行ORC

linux java ocr_Linux环境如何支持使用tess4j进行ORC

时间:2021-10-10 00:44:35

相关推荐

linux java ocr_Linux环境如何支持使用tess4j进行ORC

一、GCC环境

首先Linux环境需要安装gcc,这个在后面需要编译so库使用,因为我的环境已经有了,所以这里就不赘述了,到网上找一下一大堆。

查看GCC版本:

$ gcc --version

gcc版本

二、下载Tesseract和Leptonica安装包

Tesseract作为OCR引擎,避免不了使用图像处理。Tesseract使用的图像处理主要由Leptonica提供。Leptonica包含众多图像处理和图像分析相关的功能。Tesseract 4.0必须要求Leptonica在1.74以上,我选着的tesseract-ocr-4.1.1 Release 和 leptonica-1.79,点击可直接下载。

下载后上传到服务器:

image.png

还有在线下载方式,但是这种方式因网络问题会很慢,可能还会下载不完全,不建议使用:

$ wget /source/leptonica-1.79.0.tar.gz

$ wget /tesseract-ocr/tesseract/archive/4.1.1.tar.gz

三、编译so库

1、解压两个压缩包

$ tar -zxvf leptonica-1.79.0.tar.gz

$ tar -zxvf tesseract-4.1.1.tar.gz

image.png

2、进入leptonica-1.79.0目录,编译leptonica:

$ cd leptonica-1.79.0

$ ./configure && make && make install

编译成功!

3、 进入tesseract-4.1.1目录,编译tesseract前要先生成configure文件,直接执行./autogen.sh会报错,如下图:

$ ./autogen.sh

错误原因缺少libtool*插件,解决方式:

第一步:

$ yum install automake -y

第二步:

在执行安装 libtool插件

$ yum install libtool -y

上面两步完成后,当前目录下就会有个configure文件,它是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,开始

编译tesseract-4.1.1

执行

$ ./configure && make && make install

唉 缺少C++编译器,安装:

$ yum install gcc gcc-c++

c++ 安装完成

再次运行

$ ./configure && make && make install

报错:

解决方式,在/etc/profile中配置一下leptonica的环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PAYT:/usr/local/lib

export LIBLEPT_HEADERSDIR=/usr/local/include

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

$ vim /etc/profile

$ source /etc/profile

$ ./configure && make && make install

image.png

ok,编译成功。

下载中文简体语言库chi_sim.traineddata,上传到Linux /usr/local/share/tessdata/目录:

image.png

测试下:

$ tesseract 123.png wenben -l chi_sim

报错是因为环境没有安装这些libjpeg* libpng* freetype* gd* giflib* libtiff* zlib*依赖库,并不是所有的都用到,可以只安装libjpeg* libpng* libtiff*就可以了。

$ yum -y install libjpeg* libpng* libtiff*

重新编译leptonica

$ make clean

$ ./configure && make && make install

重新编译完成,tesseract --version 查看

顺便在测试下:

$ tesseract 123.png wenben -l chi_sim

ok没啥问题,查看编译好的so库。

$cd /usr/local/lib

so库

红框标注的这两个库就是支持tess4j在linux上进行文字识别的库,其他的都是软连接指向liblept.so.5.0.4和libtesseract.so.4.0.1。最后一步,复制liblept.so.5.0.4和libtesseract.so.4.0.1到/usr/lib64目录下。

注意:

我使用的这个版本库名必须要是libtesseract.so和liblept.so.5,创建软连接也好,直接改名也行,不然tess4j会报错找不到指定的依赖库,我们可以根据程序抛出的异常去确认库名。

到这就得到支持tessj4的库了,可以把上一篇中的代码打包一下上传到服务测试下,后续我会把编译好的库地址在评论中发出来。

参考:

《centos编译安装tesseract-ocr 3.05》

《linux (centos7)上装Tesseract-OCR最新版本(5.0)》

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。