Linux——完全安装Tesseract环境

我这里使用的是Red Hat 6.2 版本

1. 安装依赖包

依赖包一共包括: autoconf automake libtool libjpeg libpng libtiff zlib libjpeg-devel libpng-devel libtiff-devel zlib-devel
分为两个两个组,GroupA直接粗暴安装即可,GroupB有注意事项


1.1 检查系统是否存在该依赖包

以autoconf为例:
rpm -qa |grep autoconf
如果返回为空,则需要安装,否则无需安装

1.2 安装Group A (autoconf,automake,libtool)

该网站几乎可以找到所有需要的rpm安装包  http://www.rpm-find.net/linux/RPM/index.html 
在网站search查找包名即可
注意的是,下载的rpm包版本要和Linux版本对应,以autoconf为例
使用 uname -a 获取结果为  Linux forTest  2.6.32 -220.el6.x86_64  
则下载的autoconf版本至少具有关键字el6.x86_64

1.3 安装Group B (libjpeg/libjpeg-devel,libpng/libpng-devel,libtiff/libtiff-devel,zlib/zlib-devel)

基本上Linux系统正常安装的话,libjpeg/libpng/libtiff/zlib都会安装,但也不排除奇葩系统没有安装的,所以第一步是检查系统是否安装这些包
命令如上 rpm -qa |grep libjpeg
如果没有安装则先安装这四个包,步骤参考1.2

以libjpeg为例,如果安装了,使用rpm -qa |grep libjpeg命令可以看到其版本号,如 libjpeg-6b-46.el6.x86_64
则与其配对的libjpeg-devel包则需要安装相同的版本,否则不兼容,即需要安装libjpeg-devel-6b-46.el6.x86_64


2. 安装Leptonica

根据Tesseract官网介绍,不同的Tesseract版本对应不同的Leptonica依赖包,不要装错版本了
下面表格是目前的对应版本,以后不知

Tesseract

Leptonica

Ubuntu

4.00

1.73

Must build from source

3.04

1.71

Ubuntu 16.04

3.03

1.70

Ubuntu 14.04

3.02

1.69

Ubuntu 12.04

3.01

1.67

 











所以我们这里安装的是1.73版本

2.1 解压缩

tar-zxvf leptonica-1.73.tar.gz

2.2 安装

请按照下面一步步执行,且每一步都有成功的反馈才可以进行下一步,后面会说到一些碰到的Error和处理方法
(1). 进入 leptonica-1.73文件夹内(cd 命令)
(2). 执行下面command

./configure

make

make install

ldconfig


3. 安装Tesseract

可以在官网上下载,但在download页面上找到的是3.02及以前的版本,要装3.04怎么破?
在Tesseract主页 https://github.com/tesseract-ocr/tesseract 可以找到“release”,点击进去就能看到很多版本了,选择3.04下载

3.1 解压缩

tar-zxvf tesseract-3.04.tar.gz

3.2 安装

和leptonica一样,进入解压缩文件tesseract-3.04后,按照下面的步骤输入command

./autogen.sh

./configure

make

make install

ldconfig


4. 安装Tesseract-OCR

首先在页面 https://github.com/tesseract-ocr/tessdata 下载tesseract-ocr安装包,或者在release页面找到相应的版本下载

4.1 解压缩

tar -zxvf tesseract-ocr-3.01.eng.tar.gz

4.2 拷贝数据位置

使用command将 tesseract-ocr文件夹下的tessdata文件拷贝至 /usr/local/share下,cp –Rf ./tessdata /usr/local/share
之后查看/usr/local/share下是否有tessdata文件夹


5. 测试

测试是否安装成功,在../tesseract-3.04文件夹下可以找到图片phototest.tiff,(或存在于../tesseract-3.04/testing中)
使用命令 tesseract phototest.tif result –l eng
如果屏幕出现结果

Tesseract OpenSource OCR Engine v3.01 with Leptonica
Page 0

且在同文件夹下使用vim result.txt看到一堆结果,则说明安装成功

6. 一些常见错误的解决方法

6.1 Error1 多出现在./configure阶段

/bin/sh../libtool --tag=CC   --mode=linkgcc  -g -O2 -no-undefined  -o xtractprotos xtractprotos.o liblept.la

libtool:link: gcc -g -O2 -o .libs/xtractprotos xtractprotos.o  ./.libs/liblept.so -Wl,-rpath-Wl,/usr/local/lib

./.libs/liblept.so:undefined reference to `sincos'

./.libs/liblept.so:undefined reference to `sqrt'

./.libs/liblept.so:undefined reference to `ceil'

./.libs/liblept.so:undefined reference to `tan'

./.libs/liblept.so:undefined reference to `powf'

./.libs/liblept.so:undefined reference to `sqrtf'

./.libs/liblept.so:undefined reference to `expf'

./.libs/liblept.so:undefined reference to `log'

./.libs/liblept.so:undefined reference to `sincosf'

./.libs/liblept.so:undefined reference to `atan'

./.libs/liblept.so:undefined reference to `logf'

./.libs/liblept.so:undefined reference to `floorf'

./.libs/liblept.so:undefined reference to `sin'

./.libs/liblept.so:undefined reference to `tanf'

./.libs/liblept.so:undefined reference to `atan2'

collect2:ld returned 1 exit status

make[2]:*** [xtractprotos] Error 1

make[2]:Leaving directory `/root/Downloads/leptonlib-1.67/src'

make[1]:*** [all-recursive] Error 1

make[1]:Leaving directory `/root/Downloads/leptonlib-1.67'

make: ***[all] Error 2


解决方法:
重新安装,在./configure阶段时,执行command 
./configure --with-libtiff && make  

6.2 Error1 出现在ldconfig阶段

ldconfig:/usr/lib/libtesseract.so.3 is not a symbolic link

ldconfig:/usr/lib/liblept.so.2 is not a symbolic link


解决方法:
1. 移动到/usr/lib
2. 执行下面命令:(Example)

rm -rf liblept.so.2

ln -s liblept.so.2.0.0liblept.so.2

 

rm -rf libtesseract.so.3

ln -s libtesseract.so.3.0.1libtesseract.so.3


即参考/usr/local/lib中的快捷方式引用,删除文件liblept.so.2,然后创建一个名为liblept.so.2的快捷方式,指向文件liblept.so.2.0.0


7. Linux中项目调用Tesseract注意事项

安装的时候生成的so Library仅在/usr/local/lib里面,而项目调用的lib则在/usr/lib里面,所以要将/usr/local/lib中相关的tesseract和leptonica的library拷贝到/usr/lib当中,注意快捷方式也要拷贝,否则出错,解决方法参考6.2



以上


  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值