tesseract的安装使用及配置问题解决

一、安装tesseract

  • 1 OCR,即Optical Character Recognition:光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。
  • 2 tesseract下载地址
https://digi.bib.uni-mannheim.de/tesseract/
  • 3 如下图所示,将下载之后的.exe文件进行安装。.
    在这里插入图片描述
  • 4 在安装的过程中,安装的路径一般是:
    C:\Program Files (x86)\Tesseract-OCR,可以不用修改。
  • 5 然后一直点击next,直到下面下面这张图。此时可以勾选**Additional language data(download)**选项来安装OCR识别支持的语言包,这样OCR便可以识别多国语言,比如可以选择math,英文,中文等。然后一路点击Next按钮即可。
    在这里插入图片描述

二、配置环境变量

  • 1 为了在全局使用方便,比如安装路径为:
    C:\Program Files (x86)\Tesseract-OCR,将该路径添加到环境变量的path中。

  • 2 路径:高级系统设置——>环境变量——>系统变量中path路径——>将C:\Program Files (x86)\Tesseract-OCR添加进去。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 3 配置完成后在cmd中输入tesseract -v,如果出现如下图所示,说明环境变量配置成功。
    在这里插入图片描述

三、cmd方式中出现的问题及解决方法

  • 1 下面,将在cmd中使用tesseract来进行文字的识别。
  • 2 从网上随便找了一张英语图片,如下图所示。
    在这里插入图片描述
  • 3 将该图片命名为image1.jpg,然后放在G盘里面。然后使用cmd先到G盘,然后使用tesseract命令进行测试。
tesseract image1.jpg result 

这里我们调用了tesseract命令,其中第一个参数为图片名称,第二个参数result 为结果保存的目标文件名称。

  • 4 输入上述代码回车后,出现了以下的报错提示。
Error opening data file \Program Files (x86)\Tesseract-OCR\tessdata/eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'eng'
Tesseract couldn't load any languages!
Could not initialize tesseract.
  • 5 报错是意思是缺少环境变量TESSDATA_PREFIX,导致无法加载任何语言,就不能初始化tesseract。解决的方法也很简单,在环境变量——>系统变量中添加TESSDATA_PREFIX,如下图:
    注(地址复制时是右斜杠 “\”,但是需要改成 左斜杠"/" 符号,如下图划红线处)
    在这里插入图片描述
  • 6 配置完成后,重新打开cmd,即可正常使用。
  • 7 验证结果:
    如下图所示,使用cmd进行验证。
    在这里插入图片描述在这里插入图片描述

四、 pycharm方式中出现的问题及解决办法

  • 1 为了在pycharm代码中使用tesseract功能,使用pip安装pytesseract:在pycharm中pip下面语句。
pip install pytesseract
  • 2将图片放入pycharm所建的工程文件夹下
  • 3 利用代码来测试,在pycharm中运行如下代码,这里就需要借助于pytesseract库了,测试代码如下:
from PIL import Image
import pytesseract

text = pytesseract.image_to_string(Image.open("image1.jpg"))
print(text)

首先利用Image读取了图片文件,然后调用了pytesseract的image_to_string()方法,再将其识别结果输出。

  • 4 但是却出现了以下类似的错误。
Traceback (most recent call last):
  File "D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 170, in run_tesseract
    proc = subprocess.Popen(cmd_args, **subprocess_args())
  File "D:\Python36\lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "D:\Python36\lib\subprocess.py", line 997, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:/python/20180911.py", line 4, in <module>
    text = pytesseract.image_to_string(Image.open(r'D:\chromeDownload\image.png'))
  File "D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 294, in image_to_string
    return run_and_get_output(*args)
  File "D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 202, in run_and_get_output
    run_tesseract(**kwargs)
  File "D:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 172, in run_tesseract
    raise TesseractNotFoundError()
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path
  • 5 解决方法:
    pytesseract安装后,在python的Lib目录下site-packges下会生成一个pytesseract文件夹,在文件夹中找到pytesseract.py,使用记事本之类软件打开pytesseract.py,找到如下:
tesseract_cmd = 'tesseract'
  • 6 将tesseract_cmd = 'tesseract’修改为:
    tesseract_cmd = ‘C:/Program Files (x86)/Tesseract-OCR/tesseract.exe’
    (注意左斜杠和右斜杠)

    表示tesseract_cmd配置的是你安装tesseract的绝对路径,这样就能找到tesseract了。修改后保存,再去运行python代码,就可以成功了。
  • 7 验证结果:
    在这里插入图片描述

五、验证结果

  • 1,在验证的过程中,发现英文字母的识别率比较高,中文的会有些问题。
  • 2,注意配置完成后,关机重启,或者关闭cmd重新打开试试。
  • 3,每个人的电脑都或多或少的不一样,可能按照这种方式进行修改之后依旧不能运行。我在配置自己电脑的时候,也看了很多帖子,配置了好几遍,总是感觉很玄学,多多尝试。
  • 19
    点赞
  • 135
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值