Python3.6使用tesseract-ocr的正确方法

yipeiwu_com5年前Python基础

Tesseract介绍

tesseract是一个挺不错的OCR引擎,目前的问题是最新的中文资料相对较少,过时、不准确的信息偏多。

tesseract是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源码可以在这里下载。

实际使用tesseract ocr也有两种方式:1. 动态库方式 libtesseract  2. 执行程序方式 tesseract.exe

环境

  • Python 3.6.3
  • pip 9.0.1
  • tesseract-ocr-setup-3.05.00dev.exe
  • Windows10

安装

1.tesseract-orc

  • Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布。

安装的时候需要自行选择安装的语言,一些其他国家的语言可以不选择安装,我之按安装了中文,英文和日语。安装过程和其他软件一样。

2.pytesseract

pip install pytesseract

配置环境

1.设置 tesseract-orc路径

默认情况下tesseract-orc是不被添加到系统的path路径的,这样在使用的时候发生FileNotFoundError: [WinError 2] 系统找不到指定的文件错误。

解决方法:

  • 方法1:将 C:\Program Files (x86)\Tesseract-OCR添加到系统路径(路径因安装过程而异)
  • 方法2:修改pytesseract.py文件

设置训练集的位置

下载的默认训练集也没有添加到系统路径,会报错

pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Program Files (x86)\\Tesseract-OCR\\tessdata/chi_sim.traineddata')

解决方法:

设置环境变量 TESSDATA_PREFIX
C:\Program Files (x86)\Tesseract-OCR\tessdata

实例程序

import pytesseract
from PIL import Image
image = Image.open('test.png')
code = pytesseract.image_to_string(image)
print(code)

更多参考:https://pypi.python.org/pypi/pytesseract

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

python3利用smtplib通过qq邮箱发送邮件方法示例

python3利用smtplib通过qq邮箱发送邮件方法示例

前言 本文主要给大家介绍了关于python3 smtplib通过qq邮箱发送邮件的相关内容, smtplib模块是smtp简单邮件传输协议客户端的实现,为了通用性,有时候发送邮件的时候要...

python命名空间(namespace)简单介绍

python命名空间(namespace)简单介绍

命名空间: 每一个作用域变量存储的位置,或者解释为 存储作用域中变量的字典。 作用: 获取想查看某个作用域中的变量名、变量值。 使用方法: locals() #当前命名空间 1. 效果图...

windows上安装Anaconda和python的教程详解

windows上安装Anaconda和python的教程详解

 一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1、不开源,价格贵 2、软件容量大。一般3G以上,高版本甚至达5G以上。 3、只能做...

详细解析Python当中的数据类型和变量

详细解析Python当中的数据类型和变量

数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同...

举例简单讲解Python中的数据存储模块shelve的用法

shelve类似于一个key-value数据库,可以很方便的用来保存Python的内存对象,其内部使用pickle来序列化数据,简单来说,使用者可以将一个列表、字典、或者用户自定义的类实...