Tesseract-OCR下载安装

原文转自:https://blog.csdn.net/weixin_51571728/article/details/120384909

 

一、简介

Tesseract是一个 由HP实验室开发 由Google维护的开源的光学字符识别(OCR)引擎,可以在 Apache 2.0 许可下获得。它可以直接使用,或者(对于程序员)使用 API​​ 从图像中提取输入,包括手写的或打印的文本。

与Microsoft Office Document Imaging(MODI)相比,我们可以不断的训练的库,使图像转换文本的能力不断增强;

训练的大致流程:安装jTessBoxEditor -> 获取样本文件 -> Merge样本文件 –> 生成BOX文件 -> 定义字符配置文件 -> 字符矫正 -> 执行批处理文件 -> 将生成的 traineddata 放 入tessdata 中。

如果团队深度需要,还可以以它为模板,开发出符合自身需求的OCR引擎。

二、下载

以下是关于Tesseract的常用网址
下载地址:https://digi.bib.uni-mannheim.de/tesseract/
官方网站:https://github.com/tesseract-ocr/tesseract
官方文档:https://github.com/tesseract-ocr/tessdoc
语言包地址:https://github.com/tesseract-ocr/tessdata

注意事项:
1.尽量不要下载dev(开发中的版本),alpha(内部测试版,一般不向外部发布,会有很多Bug),beta(公测版本,即针对所有用户公开的测试版本)等版本。

2.建议下载最新稳定版本(最新版本可以直接下语言包,老版本会报错):

tesseract-ocr-w64-setup-v5.1.0.20220510.exe 2022-05-10 18:59 51M  

2.许可协议

三、安装

1.开始安装

3.选择要安装的用户

4.选择附带要安装的语言包
此后会在安装过程中会自动从服务器下载该语言包。(勾选需要下载的语言包,一般只有中文chi_sim和chi_sim_vert即可)

(最新v5.1版可以直接勾选下载语言包,老版本可能无法勾选下载语言包或者下载失败,本教程后续会介绍如何拓展语言包。)

5.设置安装目的地址,后续设置环境变量Path时需要用到,这里假设为“D:\App\tesseract”。

6.选择要创建程序快捷方式的启动菜单文件夹,一般默认即可

7.完成安装

 

四、设置环境变量
1.设置环境变量
进入环境变量中,在path中新建tesseract的安装路径使用win+r弹出“运行”命令框,输入sysdm.cpl打开系统属性。

2.在“高级”中打开“环境变量”

3.在“系统变量”中找到“Path",双击进入

4.加入安装过程中设置的地址, 安装目录地址D:\App\tesseract 即为Path值。

5. 配置语言包路径环境变量TESSDATA_PREFIX

在环境变量中,新建环境变量TESSDATA_PREFIX,设置环境变量值为安装目录下的tessdata。

6. 查看环境变量是否设置成功

在cmd打开,执行分别执行 echo %Path%和 echo %TESSDATA_PREFIX%查看是否设置成功。

如果检验,也可以通过一次性设置环境变量 set TESSDATA_PREFIX=D:\App\tesseract再验证。

7. 如果设置不生效可以重启电脑再检查

 

五、安装检验及语言包拓展
1.查看是否安装成功
打开cmd,输入tesseract -v回车,若显示版本号即为安装成功。

 

2.查看已经安装的语言
在cmd中输入tesseract --list-langs回车,若显示版本号即为安装成功。

 

3.拓展语言包
在下载步骤中找到语言包地址的链接,下载所需要的的语言包,如图

 

下载后将该包直接放在程序安装目录的tessdata文件夹中里面即可,如图

 

 

 注意:使用手动下载的语言包在验证时,出现TESSDATA_PREFIX路径设置失败问题,但实际是已经设置;

用安装时自动下载语言包没出现这个问题。

 

六、Python实例运用
1.测试样图

命令行中直接接口任务,  tesseract 图片 存储文本 -l 语言

如:tesseract 4.png result -l chi_sim

 

 

2.测试代码

import pytesseract
from PIL import Image
def demo():
    # 打开要识别的图片
    image = Image.open("4.png")
    # 使用pytesseract调用image_to_string方法进行识别,传入要识别的图片,lang='chi_sim'是设置为中文识别,
    text = pytesseract.image_to_string(image, lang='chi_sim')
    #输入所识别的文字
    print(text)
if __name__ == '__main__':
    demo()

 

posted @ 2022-05-17 14:55  IllidanStormrage  阅读(2900)  评论(0编辑  收藏  举报