CentOS 8 / RHEL 8 源码编译安装Tesseract-OCR 4.0及以上

Tesseract是一个非常著名的OCR开源项目,现在由google在维护,支持上百种语言,现在还在不断的更新中,版本已经到了4.1及以上,这个版本使用的神经网络模型训练的,使用的LSTM网络结构,但是在教程上官方只介绍Ubuntu的使用安装方法,然而在我的CentOS 8 / RHEL 8安装上出现了很多问题,最后我安装成功,现在总结一下安装的全过程,分享给大家,希望大家在评论区给出意见。

1、安装依赖环境

安装相关的依赖环境的库

yum install gcc-c++
yum install zlib-devel
yum install pkg-config
yum install libtool automake autoconf
yum install libjpeg-devel
yum install libpng-devel
yum install libtiff-devel

如果你计划安装训练工具,你需要安装下面的库

这两个库可以用yum工具直接安装

yum install pango pango-devel
yum install cairo cairo-devel

对于libicu-devel这个库,如果直接用yum工具安装,会导致版本过低,最低要求是52.1,我们可以安装52.2的版本,在前面的博客我已经写好了教程,安装52.2版本博客博客链接:Centos源码安装ICU 52.2的libicu-devel 库

安装Leptonica库,这个库我的博客也已经写好了,可以查看我的博客链接:Centos7源码安装Leptonica-17.8库,注意源码安装,Centos7和8是一样的

2、安装Tesseract-OCR 4.1

官方源码下载链接:https://github.com/tesseract-ocr/tesseract/releases/tag/4.1.1

# 官方下载 wget 
wget -c -t 20 https://github.com/tesseract-ocr/tesseract/archive/4.1.1.tar.gz

因为githup是国外的,如果觉得下载有点慢,我已经提前下载好,下载地址:4.1.1.tar.gz

# 本地下载 wget 
wget -c -t 20 https://www.ivdone.top/wordpress/pic/p1559/4.1.1.tar.gz

编译与安装

# 解压
tar -zxvf 4.1.1.tar.gz
cd tesseract-4.1.1/
# 编译与安装
./autogen.sh
./configure --with-extra-includes=/usr/local/include --with-extra-libraries=/usr/local/include
make
make install

查看一下安装结果:

# 查看版本信息
tesseract -v

3、下载并配置训练的语言包,这里以中文为例

官方下载地址(下载tessdata-best):https://tesseract-ocr.github.io/tessdoc/Data-Files.html

官网githup是国外网站,如果下载有点慢的话,本人已经提前下载好,下载地址:chi_sim.traineddata

# 本地wget下载 
wget -c -t 20 https://www.ivdone.top/wordpress/pic/p1559/chi_sim.traineddata

配置traineddata路径的环境变量,并且导出

# 先新建一个目录保存traineddata数据,这个目录自己随意定义
mkdir -p /opt/Tesseract/tessdata
# 编辑profile文件
vi /etc/profile

加入下面的环境变量配置

# 注意这个路径是你自己随意定义的,但是要和上面的新建目录一样
export TESSDATA_PREFIX=/opt/Tesseract/tessdata

保存之后,更新环境变量

source /etc/profile

把我们刚刚下载的语言包移到该目录下

mv chi_sim.traineddata $TESSDATA_PREFIX

4、测试

准备一张中文文字的图片,如下:

上传到服务器,识别命令如下:

# test.jpg是照片的文件名  --oem 1 使能LSTM  -l chi_sim 中文简体
tesseract test.jpg output --oem 1 -l chi_sim

识别结果在output.txt文件中,如下:

1+

Leave a Reply

Your email address will not be published.