原文链接:http://www.juzicode.com/image-tesseract-ocr5-install-on-windows

Tesseract是一款优秀的开源OCR软件,目前由Google维护改进,已发展到5.0版本,从4.0版本起增加了基于LSTM神经网络的识别引擎。今天聊聊怎么安装Tesseract命令行软件和语言包,正确配置Tesseract是制作自定义字体和使用其Python接口pytesseract的基础。

1、下载软件安装包

首先下载安装包,进入tesseract的github文档页(https://tesseract-ocr.github.io/tessdoc),找到5.0.0.x目录下的Binaries目录

Binaries目录下包含多种操作系统的二进制安装包,以windows系统为例,进入“Windows – Tesseract at UB Mannheim”(https://github.com/UB-Mannheim/tesseract/wiki)下载安装包,这是一个第三方制作的安装包,当前(2021.11)最新版本为5.0.0:

你也可以进入第三方的官网Index of /tesseract找到各种历史版本下载。

2、下载语言包

下一步下载语言包,进入tesseract的github文档页(https://tesseract-ocr.github.io/tessdoc),找到5.0.0.x目录下的Traineddata Files目录

该目录下有tessdata,tessdata_best,tessdata_fast等5种语言包,其中tessdata是检测速度和准确度居中的语言包,后缀best对应最慢和最准确的语言包,后缀fast对应最快和准确度较差的语言包,这里我们选择tessdata。进入到tessdata语言包的github仓后,可以用git命令拉到本地,或者网页版下载到本地后解压,就可以看到很多以语言简称为文件名、traineddata为后缀的文件,其中eng.traineddata和chi_sim.traineddata一般足够应对中文和英文场景:

3、安装软件

双击下载的安装包(tesseract-ocr-w64-setup-v5.0.0-rc1.20211030.exe),一路Next:

直到提示安装完成。

接下来需要手动配置系统环境变量,在windows系统环境变量PATH中添加刚才的安装路径,比如桔子菌的安装路径为D:\dev\Tesseract-OCR5.0.0:

接下来重新打开一个新的命令行,输入”tesseract.exe -v”验证软件的安装是否正确:

E:\juzicode>tesseract.exe -v
tesseract v5.0.0-rc1.20211030leptonica-1.78.0libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.3) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0

在打印信息中可以看到对应的版本号v5.0.0-rc1.20211030以及各种依赖库文件的版本号,表示安装成功。

4、安装语言包

接下来安装语言包,在上一个步骤下载的语言包中找到需要的traineddata文件,比如表示英文和中文简体的eng.traineddata和chi_sim.traineddata,复制到软件安装目录的tessdata路径下,这里桔子菌的语言包目录是:D:\dev\Tesseract-OCR5.0.0\tessdata。

再次进入到系统环境变量,添加一个名称为“TESSDATA_PREFIX”的系统变量,输入语言包所在的路径:

设置完成后打开一个新的命令行输入“tesseract.exe –list-langs”可以检查语言包是否完成安装:

E:\juzicode\tess>tesseract.exe --list-langs
List of available languages (3):
chi_sim
eng
osd

桔子菌前面拷贝了eng.traineddata和chi_sim.traineddata 2个文件到tessdata目录下,输入“tesseract.exe –list-langs”执行后看到了chi_chm和eng 2种语言,说明对应的语言类型安装成功。

5、测试、识别

接下来就是使用tesseract识别文字验证安装情况。

通过“tesseract –help”可以打印出大部分的命令,其中识别图片的命令如下形式:

tesseract.exe imagename|imagelist|stdin outputbase|stdout [options…] [configfile…]

这里第1个参数是imagename|imagelist|stdin,可以是单个图片文件名称、多个图片文件组成的清单或者标准输入stdin,第2个参数是outputbase|stdout,可以是输出文件名称或者标准输出stdout,options选项可以配置语言种类、设置识别引擎、分页模式等,configfile一般用的比较少。

我们先来看一个简单的例子,要解析的文件名称为test.png,要识别的图片如下图:

下面这个例子解析单个文件test.png(第1个参数),在标准输出(命令行界面)打印解析结果(第2个参数为stdout),用-l参数带chi_sim表示使用简体中文语言:

E:\juzicode\tess>tesseract.exe test.png  stdout  -l chi_sim
juzicode.com
微 信 公 众 号 : 桔 子 code
这 是 一 个 测 试 例 子

也可以将stdout改为其他的字符串(第2个参数改为输出文件名称,不用带txt后缀),这样会将识别的结果写入到以该字符串命名的txt文件中:

E:\juzicode\tess>tesseract.exe test.png  result  -l chi_sim

在当前目录下就会生成一个result.txt的文件,文件内容就是识别出来的文字内容。

可以将多个文件名单独成行写入到一个txt文件中构成一个imagelist,第1个参数就可以输入该文件名称,从而实现一次识别多个文件。需要注意的是图片文件名称需要单独成行,否则会认为一行中多个文件名称组成的字符串是一个文件,从而导致出现找不到文件的错误:Error in fopenReadStream: file not found。下面这个例子中todo.txt中保存了同目录下的2个图片文件名称:test.png,test2.png,将原来的第1个参数改为“todo.txt”执行解析命令:

E:\juzicode\tess>tesseract.exe todo.txt  stdout  -l chi_sim
Page 0 : test.png
juzicode.com
微 信 公 众 号 : 桔 子 code
这 是 一 个 测 试 例 子Page 1 : test2.png
这 是 第 2 个 测 试 例 子

输出内容包含了图片文件名称和对应的识别结果。

下面的例子是从pdf文件中截取的一个片段,文件名为bookseg.png:

E:\juzicode\tess>tesseract bookseg.png stdout -l chi_sim
引 言数 字 图 像 处 理 方 法 的 重 要 性 源 于 两 个 主 要 应 用 领 域 : 改 善 图 示 信 息 以 便 人 们 解 释 ; 为 存 储 、 传
输 和 表 示 而 对 图 像 数 据 进 行 处 理 , 以 便 于 机 器 自 动 理 解 。 本 章 有 几 个 主 要 目 的 : (1) 定 义 我 们 称 之 为
图 像 处 理 领 域 的 范 围 ; (2) 从 历 史 观 点 回 顾 图 像 处 理 的 起 源 ; (3) 通 过 考 察 一 些 主 要 的 应 用 领 域 , 给 出图 像 处 理 技 术 状 况 的 概 念 ; (4) 筒 要 讨 论 数 字 图 像 处 理 中 所 用 的 主 要 方 法 ; (5) 概 述 通 用 目 的 的 典 型 图
像 处 理 系 统 的 组 成 ; (6) 列 出 公 开 发 表 的 数 字 图 像 处 理 领 域 的 一 些 图 书 和 文 献 。

从识别的结果看,对于这种清晰度较高的图片识别效果还是非常完美的。

小结:注意tesseract的安装包含2个部分,一个是软件本身的安装,安装完成后需要配置PATH系统变量,一个是语言包的安装,语言包拷贝完成后需要配置TESSDATA_PREFIX系统变量。

notes:

1.安装软件后如果没有配置PATH路径会提示:’tesseract’ 不是内部或外部命令,也不是可运行的程序或批处理文件。

2.如果语言包没有安装,或者没有正确设置TESSDATA_PREFIX,将会提示Failed loading language错误:
Error opening data file d:\dev\Tesseract-OCR5.0.0\tessdata\eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to your “tessdata” directory.
Failed loading language ‘eng’
Tesseract couldn’t load any languages!
Could not initialize tesseract.

推荐阅读:

有了这个方法群聊斗图你就不会输了

只需几行代码生成22种风格各异的彩色图

你别耍我,0.1+0.2居然不等于0.3?

如何实现一个“万能”的调试打印函数

有了这款神器,什么吃灰文件都统统现形

一行代码深度定制你的专属二维码(amzqr)

桔子菌和超市老板田大爷的一次角色互换经历

改造getpass,强迫症患者再也不用担心少输字符了

来看看怎么用OpenCV解构Twitter大牛的视觉错觉图

Tesseract-OCR5.0软件安装和语言包安装(Windows系统)相关推荐

  1. 【开发环境】为 Visual Studio Community 2013 版本安装中文语言包 ( 安装 Test Agents 2013 | 安装 Visual Studio 2013 简体中文 )

    文章目录 一.下载相关文件 二.安装 Test Agents 2013 三.安装 Visual Studio 2013 简体中文语言包 一.下载相关文件 在 https://visualstudio. ...

  2. Joomla教程:创建Joomla语言包安装插件 【转】

    当你为第三方的插件扩展做翻译时,通常是直接做到插件包中的,但有时你的语言包需要单独提交.后面这种情况下,也许会不大容易让使用者知道应该将语言包上传到哪里. 为了避免这种情况的发生,我们可以模仿Joom ...

  3. WIN7中文专业版安装日文语言包的方法

    1.首先下载安装语言包的工具,名字叫:Vistalizator,下载地址如下: http://www.froggie.sk/download.html 2.下载适合你的操作系统的语言包 3.选择安装, ...

  4. 软路由系统 --- OpenWrt下载安装中文语言包

      刚安装好的OpenWrt登录Web管理后台后,发现界面是英文的,在系统的语言选项也只有English,没有中文可切换,那该如何呢?那我们就给它安装个中文的语言包,再来进行切换,看看能行不能行!如下 ...

  5. linux7.0安装中文包,Centos7使用yum命令安装中文语言包

    查看系统版本[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) 安装语言包[root@lo ...

  6. centos英文版下如何安装中文语言包

    centos安装过程中,安装语言包时选择了english,在安装完毕后浏览中文网页或查看中文文档时总是宣誓乱码,因此需要安装中文语言包,如果不能从安装盘进行安装,可以通过yum进行安装,安装办法为: ...

  7. 记一次RedHat中文乱码,中文语言包安装实践

    上网搜索Linux中文乱码问题,提示需要安装 fonts-chinese-3.02-12.el5.noarch.rpm fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rp ...

  8. Oracle EBS R12 运行adadmin 安装中文语言包过程中意外中断后的处理

    介绍Oracle EBS R12 运行adadmin 安装中文语言包过程中意外中断后的处. Oracle EBS R12 运行adadmin 安装中文语言包过程中意外中断或关机后,重新开机,运行数据库 ...

  9. Ubuntu安装中文语言包

    Ubuntu安装中文语言包及中文输入法的问题.即使自己在安装的时候选择了中文语言,新安装的Ubuntu的中文支持还是非常薄弱的,连个最基本的中文输入法都没有-除非你用的是Ubuntu DVD版. 正常 ...

  10. 犀牛建模软件的英文语言包_使用tidytext和textmineR软件包在R中进行主题建模(

    犀牛建模软件的英文语言包 In this article, we will learn to do Topic Model using tidytext and textmineR packages ...

最新文章

  1. Windows 软件管理命令行工具scoop介绍
  2. html loading原理,加载HTML-Loading HTML
  3. 【2017.11.29 周三 转载之李航博士的文章:大数据分析到底需要多少种工具?】...
  4. (102)FPGA面试题-如何选择FPGA型号?
  5. httpclient依赖_.NetCore 3.1高性能微服务架构:封装调用外部服务的接口方法HttpClient客户端思路分析...
  6. Python标准库zlib提供的数据压缩功能
  7. 新零售时代招商的新鲜玩法——用全网联动 促销活动来招商
  8. 学习C++项目—— 搭建多进程网络服务框架,增加业务和日志,心跳机制
  9. VidLoc:A Deep Spatio-Temporal Model for 6-DoF Video-Clip Relocalization用于6-DoF视频片段重新定位的深度时空模型
  10. 霍夫斯特拉大学计算机科学专业排名,院校排名
  11. link标签的用法及link属性大全
  12. 东大22春大学语文X《大学语文》在线平时作业1_100分资料非答案
  13. 微信小程序开发抽取HTML中数据的最快方法是正则表达式,而不是循环
  14. Travis CI 简介
  15. 多看阅读怎么设置翻页
  16. PHP empty() 的判断
  17. butter中文意思_butter中文是什么意思(Butterfly蝴蝶和butter黄油有什么关系)
  18. 高数笔记(十三):多元函数的极限及连续性,闭区域上多元连续函数的性质,偏导数,全微分
  19. 【Hive】Hive求所在周的第一天(周一),求所在月的第一天,求所在年的第一天
  20. MATLAB 基础笔记(一):数组的生成

热门文章

  1. CMakeLists写法总结
  2. avr单片机c语言程序设计,avr单片机c语言编程风格介绍
  3. 网吧还原软件测试简历,测试人员-斯普林网吧客户服务系统.doc
  4. matlab虚拟示波器,虚拟示波器是什么_虚拟示波器详解
  5. jQuery常用功能大全
  6. uinty SkinnedMeshRenderer (二) batches 优化,模型合并网格贴图
  7. 人工智能:爬山法、随机重启爬山法、模拟退火算法、遗传算法、启发式搜索方法解决八数码和八皇后问题
  8. sigar(System Information Gatherer And Reporter)简介
  9. 蓝桥杯 历届试题 史丰收速算
  10. 微信小程序不支持使用本地图片设置背景图片解决方法