Biên dịch cài đặt Tesseract 5.5.1 trên CentOS 8.5

Tesseract OCR là một công cụ nhận dạng ký tự quang học (OCR) mã nguồn mở được Google duy trì, hỗ trợ nhiều ngôn ngữ và các tình huống phức tạp để chuyển đổi văn bản in và viết tay. Nó có thể tích hợp vào Java thông qua API Tesseract.

Địa chỉ GitHub của dự án: https://github.com/tesseract-ocr/tesseract

I. Môi trường biên dịch

Hệ thống: CentOS 8.5.2111 (có giao diện người dùng)

Phiên bản Tesseract: 5.5.1

Phiên bản Leptonica: 1.86.0

II. Quy trình cài đặt

2.1 Cấu hình kho lưu trữ YUM

# Sao lưu
cd /etc/yum.repos.d/
mkdir bak && mv *.repo bak/

# Sử dụng kho lưu trữ YUM từ Alibaba Cloud
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

# Kho 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 Cài đặt các gói phụ thuộc

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 Cài đặt gcc-toolset-11

CentOS 8.5.2111 mặc định sử dụng phiên bản gcc là 8.5.0, gây ra lỗi trong quá trình biên dịch, do đó cần cài đặt gcc-toolset-11 với phiên bản gcc 11.2.1 để xây dựng.

# Cài đặt
yum install -y gcc-toolset-11

# Thiết lập môi trường gcc11
# Bật tạm thời (chỉ hiệu lực trong phiên hiện tại)
scl enable gcc-toolset-11 bash

# Bật vĩnh viễn (với người dùng hiện tại)
echo 'source /opt/rh/devtoolset-11/enable' >> ~/.bashrc 
source ~/.bashrc

2.4 Biên dịch và cài đặt Leptonica

Leptonica là một thư viện xử lý ảnh và phân tích ảnh mã nguồn mở, hỗ trợ nhiều định dạng ảnh (như BMP, PNG, JPEG, GIF, TIFF), cung cấp các chức năng như thao tác bitmap, biến đổi affine, hoạt động dạng học, lấp đầy vùng liên kết, v.v. Tesseract yêu cầu Leptonica để xử lý ảnh, vì vậy cần cài đặt Leptonica trước khi cài đặt Tesseract.

Địa chỉ GitHub của dự án: https://github.com/DanBloomberg/leptonica

(1) Tải về và giải nén mã nguồn

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) Biên dịch và cài đặt

cd leptonica-1.86.0/

./autogen.sh

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

make

make install

Trong khi chạy script configure, sử dụng tùy chọn --prefix để chỉ định đường dẫn cài đặt, giúp dễ dàng mang phần mềm sang máy khác sau này.

(3) Thiết lập biến môi trường

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

# Áp dụng biến môi trường
source /etc/profile.d/leptonica.sh 

2.5 Biên dịch và cài đặt Tesseract

(1) Tải về và giải nén mã nguồn

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

tar -xf tesseract-5.5.1.tar.gz

(2) Biên dịch và cài đặt

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) Thiết lập biến môi trường

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

# Áp dụng biến môi trường
source /etc/profile.d/tesseract.sh

(4) Kiểm tra cài đặt

# Kiểm tra phiên bản
[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
 
# Kiểm tra ngôn ngữ hỗ trợ
[root@localhost ~]# tesseract --list-langs
List of available languages in "/usr/local/tesseract-5.5.1/share/tessdata/" (0):

2.6 Thêm gói ngôn ngữ

Địa chỉ tải gói ngôn ngữ: https://github.com/tesseract-ocr/tessdata

Chuyển đến thư mục chứa gói ngôn ngữ /usr/local/tesseract-5.5.1/share/tessdata/

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

Tại đây, tải ba gói ngôn ngữ:

# Tiếng Trung giản thể (ngang)
wget https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim.traineddata
# Tiếng Trung giản thể (dọc)
wget https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim_vert.traineddata
# Tiếng Anh
wget https://github.com/tesseract-ocr/tessdata/blob/main/eng.traineddata

Sau khi tải xong, kiểm tra lại danh sách ngôn ngữ hỗ trợ:

[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

Tiếp theo, bạn có thể thử chuyển đổi một bức ảnh có chữ:

# Chạy lệnh
tesseract -l chi_sim test.png output

# Sau đó sẽ tạo ra file output.txt chứa nội dung đã chuyển đổi
cat output.txt

Nguồn tham khảo: https://blog.csdn.net/u014799292/article/details/145605250

Thẻ: Tesseract CentOS OCR leptonica gcc-toolset

Đăng vào ngày 19 tháng 10 lúc 14:24