化鲲为鹏,我有话说【最佳实践】华为鲲鹏云服务器最佳实践 tesseract 4.0.0软件验证报告

举报
敏敏君主 发表于 2019/11/29 15:21:10 2019/11/29
【摘要】 华为云鲲鹏云服务

化鲲为鹏,我有话说      

     1. 简介

Tesseract支持多种输出格式:纯文本、hOCR (HTML)PDF、隐形文本PDFTSV。主分支还对ALTO (XML)输出提供实验性支持。

官方链接:https://github.com/tesseract-ocr/tesseract

类别代理服务器


2. 基础环境

类别

子项

版本

获取地址(方法)

华为云

华为云

虚拟机

RC3(916)

--

OS

CentOS

7.5


Kernel

4.14


软件包

tesseract

4.0.0

https://kojipkgs.fedoraproject.org/packages/tesseract/4.0.0/3.fc30/src/tesseract-4.0.0-3.fc30.src.rpm

libicu

52.1

https://kojipkgs.fedoraproject.org/packages/icu/52.1/6.fc21/src/icu-52.1-6.fc21.src.rpm

3. 环境准备

此步骤建议在chroot环境下进行,一来对chroot环境可以随意修改,不会影响系统,二来多人共用系统环境,免不了对系统有更改,chroot环境更纯净。

1575011403107447.png

1) 创建chroot环境

执行后/root/zmm目录下就是个可用的chroot环境,chroot进去即可进行任意操作。

[root@arm-team-0009 ~]# yum install --installroot=/root/zmm/ -y basesystem yum rpm-build

[root@arm-team-0009 ~]# mount --bind /dev/ /root/zmm/dev

[root@arm-team-0009 ~]# mount --bind /proc/ /root/zmm/proc/

Chroot环境创建后,进去发现很多基础命令没有,比如vi,需要自行安装对应的rpm包。如下图所示:

1575011448947175.png

1575011459893227.png

已可用。其它命令如遇到不可用的,请参考上图的方法添加。

1) 配置YUM

推荐所有reo源修改为华为开源镜像站,速度更快更稳定。配置参考如下图所示:

1575011508615258.png

bash-4.2# grep "huawei" -ri /etc/yum.repos.d/

/etc/yum.repos.d/CentOS-EPEL.repo:baseurl=https://mirrors.huaweicloud.com/epel/7/aarch64/

/etc/yum.repos.d/euleros.repo:baseurl=http://mirrors.huaweicloud.com/euler/2.3/os/aarch64/

/etc/yum.repos.d/euleros.repo:gpgkey=http://mirrors.huaweicloud.com/euler/2.3/os/RPM-GPG-KEY-EulerOS

/etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/

/etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/

/etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/

/etc/yum.repos.d/CentOS-Base.repo:baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/

1) 源码包准备

SPEC文件是rpmbuild编译出rpm包的核心,其指定了编译期依赖及运行时依赖,也指定了此包的能力。从fedora下载nginxsrc rpm包安装进行编译,可以大大简化编译及避免运行时可能遇到的问题。

bash-4.2# yum install -y which wget git sudo make

bash-4.2#wget https://kojipkgs.fedoraproject.org/packages/tesseract/4.0.0/3.fc30/src/tesseract-4.0.0-3.fc30.src.rpm

或者,我们可以使用fedoratesseract库(其中不包含tar包,下载较快,但错误较多,请做好准备)

bash-4.2# git clone https://src.fedoraproject.org/rpms/tesseract.git

bash-4.2# git checkout f30

1. tesseract编译

安装源码包:

Spec文件里要求的编译依赖如下:

BuildRequires: automake

BuildRequires: autoconf-archive

BuildRequires: gcc-c++

BuildRequires: libtool

BuildRequires: libtiff-devel

BuildRequires: leptonica-devel

BuildRequires: cairo-devel

BuildRequires: libicu-devel

BuildRequires: pango-devel

找到依赖的对应rpm包安装即可。

bash-4.2# yum  install -y automake autoconf-archive gcc-c++ libtool libtiff-devel cairo-devel   pango-devel

不能使用yum安装的包下载源码编译后安装:

Leptonica包的编译:

bash-4.2# wget https://kojipkgs.fedoraproject.org/packages/leptonica/1.74.0/1.fc26/src/leptonica-1.74.0-1.fc26.src.rpm

bash-4.2#rpm -ivh  leptonica-1.74.0-1.fc26.src.rpm

1575011583872118.png

1575011590611619.png

编译后安装即可使用。

Libicu包的编译:

tesseract 4.0.0版本新增了train模块,该模块源码对libicu高版本依赖。

Centos 7.5自带的libicu包对宏U_RIGHT_TO_LEFT_ISOLATE没有定义。所以先编译安装libicu高版本。我们选择icu-52.1版本源码:

bash-4.2# wget https://kojipkgs.fedoraproject.org/packages/icu/52.1/6.fc21/src/icu-52.1-6.fc21.src.rpm

bash-4.2#rpm -ivh icu-52.1-6.fc21.src.rpm

bash-4.2#rpmbuild -ba /root/rpmbuild/SPEC/icu.spec

bash-4.2#rpm -ivh /root/rpmbuild/RPMS/*/libicu*.rpm

1575011648735725.png

编译tesseract rpm包:

bash-4.2# rpmbuild -ba /root/rpmbuild/SPECS/tesseract.spec

Spec文件中存在未打包的文件/usr/share/*,添加重新编译:

%files

......

/usr/share/*

编译后的结果如下:

1575011867553498.png

5. tesseract安装卸载

安装:

1575011907970847.png

卸载:

1575011926196704.png

6. 测试

[root@arm-team-0009 1]# tesseract /home/wuyujie/apache-artemis-2.9.0/web/user-manual/images/architecture2.jpg result -l eng

Tesseract Open Source OCR Engine v4.0.0 with Leptonica

[root@arm-team-0009 1]# ll

total 4

-rw-r--r-- 1 root root 194 Jun 26 11:30 result.txt

[root@arm-team-0009 1]# cat result.txt 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。