弹性云服务器部署文字识别Tesseract项目

实验目标与基本要求

Tesseract (是OCR中的一种实现方式)是一个光学字符识别引擎,支持多种操作系统。本实验将在华为云鲲鹏弹性云服务器CentOS系统的实例上,安装Tesseract;体验通过源码在鲲鹏云服务器上安装软件,并使用Tesseract识别图片中的文字。

基本要求:

熟练使用Linux基本操作命令;

了解Tesseract的基本原理;

实验摘要

1.部署开始

2.配置Tesseract

3.下载语言包

4.下载kunpeng文字图片进行demo测试

##试验操作

1.部署开始

双击“终端”打开Terminal输入以下命令回车,登陆ECS服务器:

操作说明:

①用复制ECS的弹性IP替换命令中的EIP,回车;

②接受秘钥输入“yes”,回车;

③输入密码,回车(输入密码时,命令行窗口不会显示密码,输完之后直接回车即可)

LANG=en_us.UTF-8 ssh root@EIP

连接成功,如下图所示(实验过程中请勿关闭该Terminal,否则需重复此步骤重建连接)。

371ef300ca307b82f6befa603b88fb79.png

1.2 安装依赖的基础组件

配置Tesseract所依赖的环境

yum install automake libtool gcc-c++ libjpeg-devel libpng-devel libtiff-devel -y

e07f88e8002e831baca6382a17f5d577.png

1.3.下载Leptonica源码包

下载Tesseract依赖的图像处理库Leptonica源码包,利用Leptonica源码包中这些库可实现开源Tesseract字符识别库的静态编译。

执行以下命令下载:

常见问题解答

什么是leptonica?

Leptonica 是一个面向教学的开源网站,广泛的应用于图像处理和图像分析的应用中。在很多linux操作系统中,都自带了它的套件。但是在使用它的时候,由于它设计精巧,加上它用的一些名称,和我们学过的并不一样,如常用的Bitblt位图操作被称为Rasterop,而腐蚀,膨胀等形态学操作不是独立的函数,而是由pixMorphSequence加上不同的参数来完成。

wget https://sandbox-experiment-resource.obs.cn-north-1.myhuaweicloud.com/kunpeng-tesseract/leptonica-1.78.0.tar.gz

fb5464ab32e8c96cf5d5d0b3718abcea.png

1.4.解压Leptonica源码包

执行以下命令解压:

tar -xvf leptonica-1.78.0.tar.gz

1.5.编译和安装Leptonica

执行以下命令进入目录leptonica-1.78.0:

cd leptonica-1.78.0

在该目录下进行编译和安装Leptonica,执行以下命令:

./configure --prefix=/usr/ && make -j4 && make install

此过程大约需要2分钟,安装执行完成如下图所示:

aae13d432a56d9c4e686290c0b6c0006.png

9b71922922da360597b8409f245f9cba.png

1.6.配置Leptonica涉及的环境变量

1.6.1.导入环境变量

导入环境变量,使其他服务在任何地方都能引用该lib库。

执行以下命令打开配置文件:

vim /etc/profile

在打开的配置文件界面,先点击“shift+g”进入该配置文件的最后,再点击“i”键进入编辑模式,移动光标,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oiwen8Wc-1573628229124)(/Users/supermike/Downloads/原创文章/弹性云服务器部署文字识别Tesseract项目/图片6.png)]

拷贝粘贴如下内容:

export PKG_CONFIG_PATH=/usr/lib/pkgconfig

点击ESC退出编辑,输入:wq回车保存。

:wq

保存完成如下图所示:

cdbb1955c7c9c3d5da2d63d27fdf3345.png

1.6.2.令环境变量有效

执行以下命令使环境变量有效,(ldconfig是一个动态链接库管理命令,其目的为了让动态链接库为系统所共享)。

source /etc/profile && ldconfig

2.配置Tesseract

2.1.下载Tesseract源码包

下载源代码到“/usr/local/src”目录下,执行以下命令切换到该目录:

什么是tesseract?

cd /usr/local/src

执行以下代码下载Tesseract源码包:

wget https://sandbox-experiment-resource.obs.cn-north-1.myhuaweicloud.com/kunpeng-tesseract/tesseract-4.0.0.tar.gz

下载成功如下图所示:

f6d97d30fa6017665ac8b2d27e7c7994.png

2.2.解压Tesseract源码包

执行以下命令解压:

tar -xvf tesseract-4.0.0.tar.gz

解压完成如下图所示:

85aa5d248224700d8afa1dc55c891945.png

2.3.编译和安装Tesseract

执行以下命令进入目录tesseract-4.0.0:

cd tesseract-4.0.0

在该目录下执行以下命令进行安装和编译:

./autogen.sh && ./configure && make -j4 && make install

大约需要6分钟,编译安装完成

3.下载语言包

3.1.下载英文语言包

语言包资源下载到“root”目录。执行以下命令切换到“root”目录:

cd /root

执行以下命令下载英文语言包:

wget https://sandbox-experiment-resource.obs-website.cn-north-1.myhwclouds.com/kunpeng-tesseract/eng.traineddata

3.2.下载中文语言包

执行以下命令下载中文语言包:

wget https://sandbox-experiment-resource.obs-website.cn-north-1.myhwclouds.com/kunpeng-tesseract/chi_sim.traineddata

3.3.将语言包复制到对应的目录

Tesseract语言包需要存放在“usr/local/share/tessdata”,以便于Tesseract识别。

执行以下命令拷贝语言包:

cp eng.traineddata /usr/local/share/tessdata -r && cp chi_sim.traineddata /usr/local/share/tessdata -r**

4.下载kunpeng文字图片进行demo测试

将图片下载至服务器,然后输入命令,让系统自动识别图片内容,最后得出结果。

4.1.中文测试

执行以下命令下载图片:

wget [https://portal-www-software.obs.cn-north-1.myhuaweicloud.com:443/kunpeng_chi.bmp

执行以下命令识别图片中的内容并查看输出结果。

tesseract -l chi_sim kunpeng_chi.bmp res_chi && cat res_chi.txt

4.2.英文测试

执行以下命令下载图片:

wget [https://portal-www-software.obs.cn-north-1.myhuaweicloud.com:443/kunpeng.bmp

执行以下命令识别图片中的内容将其存放在result中并查看输出结果。

tesseract kunpeng.bmp result && cat result.txt

GitHub 加速计划 / te / tesseract
60.1 K
9.29 K
下载
tesseract-ocr/tesseract: 是一个开源的光学字符识别(OCR)引擎,适用于从图像中提取和识别文本。特点是可以识别多种语言,具有较高的识别准确率,并且支持命令行和API调用。
最近提交(Master分支:2 个月前 )
bc490ea7 Don't check for a directory, because a symbolic link is also allowed. Signed-off-by: Stefan Weil <sw@weilnetz.de> 4 个月前
2991d36a - 4 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐