开源 OCR 工具 tesseract v4.1.0 的 Docker 镜像制作与使用
开源 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 及相关的资源包放到同一目录。构建目录结构:
build/ ├── 4.1.0.tar.gz ├── Dockerfile ├── leptonica-1.78.0.tar.gz └── tesseract_langs.tar.gz
2.2 构建命令
docker build -t tesseract-ocr:0903.1.00 .
2.3 Dockerfile
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 验证
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相关账户下可以找到,不想耗费时间只想直接使用的小伙伴欢迎直接下载。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
用户数从 0 到亿,我的 K8s 踩坑血泪史
作者 |平名 阿里服务端开发技术专家 导读:容器服务 Kubernetes 是目前炙手可热的云原生基础设施,作者过去一年上线了一个用户数极速增长的应用:该应用一个月内日活用户从零至四千万,用户数从零到一亿的裂变式增长,充分享受了容器服务快速简便的扩容操作和高可用特性。作者使用容器服务 Kubernetes 集群将公司内系统完全上云 1 年多,本篇文章记录了其中的踩坑与优化记录。 关注“阿里巴巴云原生”公众号,回复关键词“资料”,即可获得 2019 全年meetup 活动 PPT 合集及 K8s 最全知识图谱。 创建集群 创建集群时,做好规划,选择优化好的集群配置,可以大大减少后期运维工作,其中部分集群的配置在建立后再也没法修改或者修改极其麻烦。 集群规划 网络规划: 网络类型: Flannel、Terway Terway
- 下一篇
容器的进程与namespace、rootfs
一:容器是什么 容器的本质是一种特殊的进程。 在linux容器中有三个重要的概念:Namespace、Cgroups、rootfs。Namespace做隔离,让进程只能看到Namespace中的世界;Cgroups 做限制,让这个“世界”围着一个看不见的墙。rootfs 做文件系统,rootfs 只是一个操作系统所包含的文件、配置和目录,并不包括操作系统内核。 二:Namespace是什么 进入容器后,ps命令看到的容器的应用进程都是1号进程,这个其实是pid namespace导致,他其实就是个障眼法, 让你看到的是类似于一个新的虚拟机新环境,其实是不一样的,容器就是一个运行的进程,而容器中的其他进程则是pid为1的子进程。 除了刚刚pid namespace,还有其它的namespace如下: 容器是怎么新建namespace的? docker创建容器,其实就是linux系统的一次fork的调用, 在进行fork调用时,会传入一些flag参数,这个参数可以控制对linux内核调用新的namespace。 三:rootfs 挂载在容器根目录上、用来为容器进程提供隔离后执行环境的文件系...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)