开源免费图片文字识别 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相关账户下可以找到,不想耗费时间只想直接使用的小伙伴欢迎直接下载。

3.4 Tesseract 还有 Python 版本和 windows 版本。

开源免费图片文字识别 OCR 工具 tesseract v4.1.0 的 Docker 镜像制作与使用相关推荐

  1. 图片文字识别OCR模型免费API接口工具及DEMO

    jiaying系列 网页版演示地址:ai.moneymeeting.club 一.简介: paddleocr是一个开源的图片文字识别工具​. 目前我们提供的免费在线API支持png.jpg​文件格式. ...

  2. 【图片识别】java 图片文字识别 ocr (转)

    http://www.cnblogs.com/inkflower/p/6642264.html 最近在开发的时候需要识别图片中的一些文字,网上找了相关资料之后,发现google有一个离线的工具,以下为 ...

  3. python批量识别图片中文字_python实现中文图片文字识别--OCR about chinese text--tesseract...

    0.我的环境: win7 32bits python 3.5 pycharm 5.0 1.相关库 安装pillow: pip install pillow 安装tesseract: 自带了英文语言包, ...

  4. 吴恩达《Machine Learning》精炼笔记 12:大规模机器学习和图片文字识别 OCR

    作者 | Peter 编辑 | AI有道 系列文章: 吴恩达<Machine Learning>精炼笔记 1:监督学习与非监督学习 吴恩达<Machine Learning>精 ...

  5. python识别文字软件_|python图片文字识别扫描工具下载免费版 - 欧普软件下载

    python图片文字识别扫描工具是一款文字识别软件,软件基于Python和百度识别接口设计而来,可快速识别图片中的文字,写入TXT文件,支持快捷键F1截屏,虽说是基于命令行的操作,但是操作也算简单,需 ...

  6. 吴恩达《机器学习》第十八章:图片文字识别OCR

    文章目录 十八.应用实例:图片文字识别OCR 18.1 问题描述和流程图 18.2 滑动窗口 18.3 获取大量数据和人工数据 18.4 上限分析:下一步工作 十八.应用实例:图片文字识别OCR 18 ...

  7. 轻量级图片文字识别 OCR Paddle 使用说明

    百度轻量级 图片文字识别OCR 1.原文链接:https://www.paddlepaddle.org.cn/hub/scene/ocr 2.快速安装     https://github.com/P ...

  8. 免费OCR图片文字识别小工具,一键提取图片中文字,支持多语言翻译和发票识别

    最近用周末和下班后的时间,开发了一款图片文字识别的小程序( 扫描识字宝 ),可以直接拍照或者扫描识别图片上的文字,并支持提取成文档.还加上了图片翻译功能,支持图片上文字提取后翻译成多国语言.也加入了增 ...

  9. 一款免费的ocr图片文字识别提取工具网站

    市场上ocr很成熟,但是都有各种限制,比如强制登陆,转换限制,收费过高等!有时候我们只是简单的提取一下图片中的数据.或者暂时的图片文字识别和提取.这个我感觉还可以,大家要就拿去不谢!https://o ...

最新文章

  1. [Medical Image Processing] 2. Image Binary -【OTSU Algorithm Entropy Method】
  2. eclipse android开发环境搭建_聊聊Spring boot2.X开发环境搭建和基本开发
  3. [转]Google的C++代码规范
  4. linux下PHP7环境搭建
  5. linux初始化root密码
  6. 少年,看你异于常人,有空花2小时来参加有3000人的源码共读嘛~
  7. Python3 实现单例设计模式
  8. [vue] vue中是如何使用event对象的?
  9. python中xy坐标如何从十个中找到最远的两个_python – Opencv单应性从像素xy坐标中查找全局xy坐标...
  10. altium导出钻孔文件_[Altium Designer 学习]怎样输出Gerber文件和钻孔文件
  11. php 文件 计数,文件计数问题
  12. poj 3040 Allowance (贪心
  13. iNeedle系统之国舜项目
  14. 预付费电能表远传抄表系统
  15. 泊车——prescan
  16. Java jdk下载安装与配置及其不同版本jdk切换
  17. 视频教程-VBScript脚本语言编程与自动化运维操作学习篇-其他
  18. ps入门第4天_ps画笔工具知识汇总_自定义画笔工具_画笔画彩带
  19. python分析方向的第三方库_Python 机器学习方向的第三方库是
  20. 银行磁条卡即将被淘汰

热门文章

  1. ansible模块速记方法
  2. aws mongodb_在AWS上托管React flask mongodb Web应用程序第4部分
  3. inquirerjs简介
  4. 通达信筹码单峰密集选股公式,突破筹码密集区发出信号
  5. [BSidesCF 2020]Had a bad day1
  6. 计算机没有显卡会怎样,电脑没有显卡怎么办
  7. 用牛顿迭代法和二分法求方程的根【C语言】
  8. mapper批量插入
  9. java mapper引用常量
  10. 实测|超融合数据库 MatrixDB 实现百万级 TPS