我是靠谱客的博主 聪明薯片,这篇文章主要介绍docker应用篇(2):构建tesseract-ocr运行环境前言资源准备搭建tesseract基础环境镜像将镜像上传到dockerhub将镜像发布到阿里云dockerhub上运行该镜像使用这个镜像关于遇到的问题传送门,现在分享给大家,希望可以做个参考。

文章目录

  • 前言
  • 资源准备
  • 搭建tesseract基础环境镜像
  • 将镜像上传到dockerhub
  • 将镜像发布到阿里云dockerhub上
  • 运行该镜像
    • 1. 下载语言包(需要新语种才需要执行)
    • 2. 运行
  • 使用这个镜像
  • 关于遇到的问题
  • 传送门

前言

复制代码
1
2
某些应用需要进行图片内容识别,需要构建tesseract的运行环境。

资源准备

下载相关资源:
tesseract url:https://github.com/tesseract-ocr/tesseract/

leptonica url:http://www.leptonica.org/

语言包的下载:https://github.com/tesseract-ocr/tessdata

在这里插入图片描述

软件和语言包已上传到百度网盘:
链接:https://pan.baidu.com/s/1mevX728H0GuqoZFiTwrvfA?pwd=paco
提取码:paco

搭建tesseract基础环境镜像

  1. 编写Dockerfile
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
FROM mamohr/centos-java MAINTAINER lengcz<lcz0710@163.com> # 说明 COPY readme.txt /usr/local/readme.txt # 环境变量(tesseract) ENV LD_LIBRARY_PATH="/usr/local/lib" LIBLEPT_HEADERSDIR="/usr/local/include" PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" # 安装tesseract环境 ADD tesseract-4.1.3.tar.gz / ADD leptonica-1.80.0.tar.gz / RUN yum -y install file automake libicu-devel libpango1.0-dev libcairo-dev libjpeg-devel libpng-devel libtiff-devel zlib-devel libtool gcc-c++ make && cd /leptonica-1.80.0 && ./configure && make && make install && cd /tesseract-4.1.3 && ./autogen.sh && ./configure && make && make install && rm -rf /leptonica-1.80.0 /tesseract-4.1.3 # 复制语言包 COPY /tessdata /usr/local/share/tessdata # 时区设置 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc/timezone
  1. 上传到centos服务器
    备注:readme.txt是你构建的该镜像说明文件,无关紧要,可有可无。

在这里插入图片描述
语言包(这里包含了中文英文)
在这里插入图片描述

  1. 构建镜像
复制代码
1
2
docker build -t lengcz/tessocr2:1.0 .

在这里插入图片描述

将镜像上传到dockerhub

服务器如果在国内,下载速度会比较慢。
lengcz/tesseract-ocr-environment 仓库是公开的
仓库地址:https://hub.docker.com/repository/docker/lengcz/tesseract-ocr-environment
命令

复制代码
1
2
3
docker tag local-image:tagname new-repo:tagname docker push new-repo:tagname

操作
在这里插入图片描述

在这里插入图片描述

将镜像发布到阿里云dockerhub上

该镜像为开源镜像,可使用。下载速度很快。

复制代码
1
2
docker run -it --name mytesseract01 registry.cn-guangzhou.aliyuncs.com/lengcz/tesseract-ocr-environment:1.0 /bin/bash

运行该镜像

1. 下载语言包(需要新语种才需要执行)

(前面构建镜像时已经包含了中文和英文了,如果需要其它语言,则需要下载;否则不需要执行此步骤)
由于tesseract是需要语言包的,所以需要下载语言包。

下载地址:https://github.com/tesseract-ocr/tessdata

将语言包下载存放到主机/usr/tessdata目录下
在这里插入图片描述

需要识别中文,需要下载中文相关的包
在这里插入图片描述

建议先把中文和英文的包都安装了
在这里插入图片描述

2. 运行

复制代码
1
2
3
4
5
6
7
8
9
#(不需要额外的语言包)以交互的方式运行该镜像,并进入容器(默认包含了中文和英文,也识别数字,没有额外的情况,不需要进行挂载) docker run -it --name mytesseract01 lengcz/tesseract-ocr-environment:1.0 /bin/bash #(需要额外的语言包)以交互的方式运行该镜像,并进入容器(以挂载的方式运行),如果需要额外的语言包,则需要使用文件挂载,将需要被加载的语言包挂载到容器内 docker run -it -v /usr/tessdata:/usr/local/share/tessdata --name mytesseract01 lengcz/tesseract-ocr-environment:1.0 /bin/bash #查看tesseract的版本 tesseract -v #查看已安装的语言包 tesseract --list-langs

在这里插入图片描述

使用这个镜像

  • dockerhub镜像
复制代码
1
2
docker run -it --name mytesseract01 lengcz/tesseract-ocr-environment:1.0 /bin/bash
  • 阿里云容器镜像
复制代码
1
2
docker run -it --name mytesseract01 registry.cn-guangzhou.aliyuncs.com/lengcz/tesseract-ocr-environment:1.0 /bin/bash

关于遇到的问题

问题:
configure: error: Your compiler does not have the necessary C++17 support! C
其实这个过程遇到的问题很麻烦,主要是环境问题,不同版本的tesseract-ocr需要的基础环境也不同,失败的概率比较大,而且执行时间也很慢。
解决办法:
http://www.manongjc.com/detail/24-egmohotmsezzmof.html

复制代码
1
2
3
4
yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils scl enable devtoolset-9 bash

当然如果实在遇到问题千奇百怪,可以直接使用我提交到dockerhub的公开镜像。

复制代码
1
2
lengcz/tesseract-ocr-environment

传送门

基于本章构建的基础镜像,开发springboot代码实现图片转文本。
springboot框架(5):ocr图片转文本

最后

以上就是聪明薯片最近收集整理的关于docker应用篇(2):构建tesseract-ocr运行环境前言资源准备搭建tesseract基础环境镜像将镜像上传到dockerhub将镜像发布到阿里云dockerhub上运行该镜像使用这个镜像关于遇到的问题传送门的全部内容,更多相关docker应用篇(2):构建tesseract-ocr运行环境前言资源准备搭建tesseract基础环境镜像将镜像上传到dockerhub将镜像发布到阿里云dockerhub上运行该镜像使用这个镜像关于遇到内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(85)

评论列表共有 0 条评论

立即
投稿
返回
顶部