版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/solaraceboy/article/details/100525225
开源免费图片文字识别 OCR 工具 tesseract v4.1.0 的 Docker 镜像制作与使用
一 背景
在日常的一些工作中,偶尔也需要我们把图片转换为文字。目前大部分办公软件还无法实现类似的功能,因此遇到类似的问题时,我们只能自己动手解决。
Tesseract(识别引擎),一款由HP实验室开发由Google维护的开源OCR(Optical Character Recognition , 光学字符识别)引擎,与Microsoft Office Document Imaging(MODI)相比,我们可以不断的训练的库,使图像转换文本的能力不断增强;如果团队深度需要,还可以以它为模板,开发出符合自身需求的OCR引擎。在 GitHub 上我们目前能看到的最新版本为:v4.1.0。 本文以 CentOS7.6.1810 为例对 Tesseract 的安装及使用进行演示。为了减少大家重复造轮子,本文已将安装过程整理为 Docker 镜像,需要的小伙伴直接使用文中的 Dockerfile 即可构建镜像,进而实现开箱即用。
二 镜像的构建过程
2.1 准备阶段
将 Dockerfile 及相关的资源包放到同一目录。构建目录结构:
代码语言:javascript复制build/
├── 4.1.0.tar.gz
├── Dockerfile
├── leptonica-1.78.0.tar.gz
└── tesseract_langs.tar.gz
2.2 构建命令
代码语言:javascript复制docker build -t tesseract-ocr:0903.1.00 .
2.3 Dockerfile
代码语言:javascript复制FROM centos:7.6.1810
LABEL ANTHOR="IVAN DU" VERSION="0903.0.01" BUILD_DATE="2019-09-03"
RESOURCES="https://github.com/tesseract-ocr/tesserac http://www.leptonica.org/index.html https://github.com/tesseract-ocr/tessdata"
ENV LD_LIBRARY_PATH="/usr/local/lib"
LIBLEPT_HEADERSDIR="/usr/local/include"
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
TESSDATA_PREFIX="/usr/local/share/tessdata"
ADD 4.1.0.tar.gz /
ADD leptonica-1.78.0.tar.gz /
ADD tesseract_langs.tar.gz /usr/local/share/tessdata/
RUN yum -y install file automake libjpeg-devel libpng-devel libtiff-devel zlib-devel libtool gcc-c make
&& cd /leptonica-1.78.0 && ./configure && make && make install
&& cd /tesseract-4.1.0 && ./autogen.sh && ./configure && make && make install
&& rm -rf /leptonica-1.78.0 /tesseract-4.1.0
2.4 文章相关资源
本文涉及到的所以资源均已上传至 CSDN ,如有需要,自行下载即可。
2.5 验证
代码语言:javascript复制docker run --rm -v ${PWD}:/data ace78e7ad3b5 tesseract /data/3.jpg /data/gysl -l chi_sim
Tesseract Open Source OCR Engine v4.1.0 with Leptonica
cat gysl.txt
在 日 常 的 一 些 工 作 中 , 俊 尔 也 霁 妮 我 们 技 图 片 转 振 为 文 字 , 目 前 大 鄂 分 力 公 软 作 廷 无 法 实 现 娄 伯 的 功
解 , 因 止 通 到 羔 佑 的 问 题 时 , 我 们 司 能 自 已 动 手 航
Tesseract (iR8S| 敷 ) , 一 欲 由 HP 实 驾 室 开 发 由 Google 雕 护 的 开 源 0CR (Oplcal Character
Recogniton , 光 学 字 祖 R3J) 引 摸 , 与 Microsoft Ofce DocumentImagmg (MODI) 相 比 , 我 们 可 以 不
断 的 州 练 的 库 , 俚 图 僧 转 浩 文 本 的 能 力 不 抗 增 强 ; 如 松 团 队 深 度 霭 要 , 还 可 以 以 它 为 模 松 , 开 发 出 等 合
自 躯 的 OCRS| 敷 , 在 GItHub 上 我 们 目 前 能 睿 刺 的 最 新 版 本 为 : v4 10。 本 文 以 Cent0S7 6 1810
为 伟 Tesseract 的 安 装 司 俭 用 迹 行 演 示 , 为 了 源 少 大 家 重 夏 迢 子 , 本 文 已 旅 安 装 程 坪 理 为 Docker
镐 像 , 霏 要 的 小 仁 伴 眼 接 侠 用 文 中 的 Dockerfie 卵 可 皎 镐 像 , 进 市 宇 现 开 锴 卯 用 .
识别内容为本文第一段除了标题部分内容。效果并不佳。试了一下英文资料的识别,比中文要好不少。
三 总结
3.1 Tesseract 目前对中文的识别效果并不好,不推荐使用。如果你不介意多花时间,可以考虑使用它提供的训练功能自定义你的语言库,那样在特定场景下识别率应该能上一个台阶。
3.2 纯英文内容可以试一下。
3.3 文章的资源包及镜像在本人CSDN相关账户下可以找到,不想耗费时间只想直接使用的小伙伴欢迎直接下载。
3.4 Tesseract 还有 Python 版本和 windows 版本。