化鲲为鹏,我有话说【最佳实践】华为鲲鹏云服务器最佳实践 tesseract 4.0.0软件验证报告
化鲲为鹏,我有话说
1. 简介
Tesseract支持多种输出格式:纯文本、hOCR (HTML)、PDF、隐形文本PDF、TSV。主分支还对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环境更纯净。
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包。如下图所示:
已可用。其它命令如遇到不可用的,请参考上图的方法添加。
1) 配置YUM源
推荐所有reo源修改为华为开源镜像站,速度更快更稳定。配置参考如下图所示:
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下载nginx的src 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 |
或者,我们可以使用fedora的tesseract库(其中不包含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 |
编译后安装即可使用。
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 |
编译tesseract rpm包:
bash-4.2# rpmbuild -ba /root/rpmbuild/SPECS/tesseract.spec |
Spec文件中存在未打包的文件/usr/share/*,添加重新编译:
%files ...... /usr/share/* |
编译后的结果如下:
5. tesseract安装卸载
安装:
卸载:
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 |
- 点赞
- 收藏
- 关注作者
评论(0)