返回顶部

CentOS8.5 编译安装 Tesseract5.5.1

​ Tesseract OCR是一款由Google维护的开源光学字符识别(OCR)引擎,支持多种语言和复杂场景的文字识别,适用于印刷体和手写体文本的转换,并且可以在 Java 中通过 Tesseract API 进行集成。

​ 项目GitHub地址:https://github.com/tesseract-ocr/tesseract

一、编译环境

​ 系统:CentOS8.5.2111 (带GUI桌面)

​ Tesseract版本:5.5.1

​ Leptonica版本:1.86.0

二、安装过程

2.1、配置yum源

#备份
cd /etc/cd /etc/yum.repos.d/
mkdir bak && mv *.repo bak/

#使用阿里云提供的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

#epel源
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*

2.2、安装依赖包

yum install -y gcc gcc-c++ make autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel icu pango-devel cairo-devel

2.3、安装gcc-toolset-11

​ CentOS8.5.2111 默认的 gcc 版本为 8.5.0,编译过程会报错,所以安装 gcc-toolset-11 工具使用 gcc 11.2.1 版本进行构建。

#安装
yum install -y gcc-toolset-11

#配置gcc11环境
#临时启用(仅当前终端会话有效),这里使用这种方式
scl enable gcc-toolset-11 bash

#永久启用(当前用户)
echo 'source /opt/rh/devtoolset-11/enable' >> ~/.bashrc 
source ~/.bashrc

2.4、编译安装Leptonica

​ Leptonica是一个开源的图像处理和图像分析库,支持多种图像格式(如BMP、PNG、JPEG、GIF、TIFF等),提供位图操作、仿射变换、形态学操作、连通区域填充等功能,Tesseract 编译安装依赖 Leptonica 进行图像处理,所以需要先编译安装Leptonica,然后再编译安装Tesseract。

​ 项目GitHub地址:https://github.com/DanBloomberg/leptonica

(1) 下载源码包并解压

wget https://github.com/DanBloomberg/leptonica/releases/download/1.86.0/leptonica-1.86.0.tar.gz

tar -xf leptonica-1.86.0.tar.gz

(2) 编译安装

cd leptonica-1.86.0/

./autogen.sh

./configure --prefix=/usr/local/leptonica-1.86.0

make

make install

执行 configure 脚本时使用 --prefix 指定软件安装路径,方便编译后打包拿到其它机器上运行。

(3) 创建环境变量

vim /etc/profile.d/leptonica.sh 
export LD_LIBRARY_PATH=/usr/local/leptonica-1.86.0/lib:$LD_LIBRARY_PATH
export LIBLEPT_HEADERSDIR=/usr/local/leptonica-1.86.0/include
export PKG_CONFIG_PATH=/usr/local/leptonica-1.86.0/lib/pkgconfig

#使用环境变量生效
source /etc/profile.d/leptonica.sh 

2.5、编译安装Tesseract

(1) 下载源码包解压

wget https://github.com/tesseract-ocr/tesseract/archive/refs/tags/5.5.1.tar.gz

tar -xf tesseract-5.5.1.tar.gz

(2) 编译安装

cd tesseract-5.5.1/

./autogen.sh

./configure --prefix=/usr/local/tesseract-5.5.1 -with-extra-libraries=/usr/local/leptonica-1.86.0/lib

make

make install

(3) 创建环境变量

vim /etc/profile.d/tesseract.sh 
export TESSDATA_PREFIX=/usr/local/tesseract-5.5.1/share/tessdata
export PATH=$PATH:/usr/local/tesseract-5.5.1/bin:$TESSDATA_PREFIX
export LD_LIBRARY_PATH=/usr/local/tesseract-5.5.1/lib:$LD_LIBRARY_PATH

#使用环境变量生效
source /etc/profile.d/tesseract.sh

(4) 查看安装情况

#查看版本
[root@localhost ~]# tesseract --version
tesseract 5.5.1
 leptonica-1.86.0
  libjpeg 6b (libjpeg-turbo 1.5.3) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11
 Found AVX512BW
 Found AVX512F
 Found AVX512VNNI
 Found AVX2
 Found AVX
 Found FMA
 Found SSE4.1
 Found OpenMP 201511
 
#查看支持的语言
[root@localhost ~]# tesseract --list-langs
List of available languages in "/usr/local/tesseract-5.5.1/share/tessdata/" (0):

2.6、添加语言包

​ 语言包下载地址:https://github.com/tesseract-ocr/tessdata

​ 进入语言包上传目录 /usr/local/tesseract-5.5.1/share/tessdata/

cd /usr/local/tesseract-5.5.1/share/tessdata/

​ 这里下载了三个语言包:

#简体中文(横排)
wget https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim.traineddata
#简体中文(竖排)
wget https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim_vert.traineddata
#英文
wget https://github.com/tesseract-ocr/tessdata/blob/main/eng.traineddata

​ 下载完成后,再查看支持的语言:

[root@localhost ~]# tesseract --list-langs
List of available languages in "/usr/local/tesseract-5.5.1/share/tessdata/" (3):
chi_sim
chi_sim_vert
eng

​ 接着可以上传一张带文字的图片试下转换效果:

#执行命令
tesseract -l chi_sim test.png output

#之后会在当前目录生成一个output.txt文件,可以查看转换的文字
cat output.txt

参考博客https://blog.csdn.net/u014799292/article/details/145605250

posted @ 2025-11-06 16:57  hovin  阅读(0)  评论(0)    收藏  举报