Linux环境如何支持使用tess4j进行ORC
2020-06-11 本文已影响0人
54番茄
一、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,点击可直接下载。
下载后上传到服务器:
还有在线下载方式,但是这种方式因网络问题会很慢,可能还会下载不完全,不建议使用:
$ wget http://www.leptonica.com/source/leptonica-1.79.0.tar.gz
$ wget https://github.com/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
参考《Leptonica 1.74 or higher is required. 的解决办法》
再次执行
$ ./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)》