系统:CentOS7
1、安装依赖包
依赖包: autoconf automake libtool libjpeg libpng libtiff zlib libjpeg-devel libpng-devel libtiff-devel zlib-devel
可以使用 rpm -qa |grep autoconf 命令检查依赖包是否存在,有返回一般就是存在的,无返回不存在,需要手动安装。
一般前面几个都有,后面几个一般不存在,需要手动安装。安装之前使用 uname -a 检查系统平台:3.10.0-327.el7.x86_64 。安装的rpm包需符合.el7.x86_64版本。
libjpeg-devel这个几个包需要和libjpeg版本相同。比如 rpm -qa |grep libpng :libpng-1.5.13-5.el7.x86_64。则libpng-devel也要是libpng-devel-1.5.13-5.el7.x86_64。
几个rpm链接:
http://www.rpm-find.net/linux/RPM/index.html
2、安装leptonica
不同的Tesseract版本对应不同的Leptonica依赖包,注意版本。leptonica官网介绍了Tesseract版本和leptonica之间的依赖,Tesseract4.0需要不低于leptonica 1.73。这里在官网下载了最新版1.76.0。
解压: tar -vzxf leptonica-1.76.0.tar.gz
安装:
./configure
make
make install
ldconfig
3、安装Tesseract
在Tesseract的github主页找到源码包,如果是识别中文的话需要下载4.0.0版本,在主页releases下面找到4.0.0源码包。
解压:tar -vzxf tesseract-4.0.0-beta.1.tar.gz
安装:
./autogen.sh
./configure
##如果没有问题,继续下面命令,如果报autoconf-archive错误,下载安装autoconf-archive包。再重新执行上面两条命令。
make
make install
ldconfig
4、文本识别
执行 tesseract --help 查看使用命令
执行 tesseract --list-langs 查看支持的语言包
如果出现下面的错误:
Error opening data file /usr/local/share/tessdata/eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory.
Failed loading language 'eng'
Tesseract couldn't load any languages!
检查tessdata目录中是否有.trainedata语言包,如果没有,在这里下载中英文语言包。放到自己的tessdata目录中。如果 错误信息的目录中没有tessdata目录,则可以通过 export TESSDATA_PREFIX=自己的tessdata文件所在目录(不包含 tessdata),设置环境变量。
测试 tesseract 001_1.jpg res -l chi_sim --oem 1 --psm 7 会在当前目录下生成识别结果的res.txt文件。也可以更改oem和psm参数,具体用法 tesseract --help-extra。
识别结果和语言包有关,针对特定场景,比如身份证识别、门牌识别可以自己训练语言包。