pyocr是一个Python的OCR类库,他的github地址是:https://github.com/jflesch/pyocr 。python
若是要使用这个类库,须要环境上有几个依赖:linux
tesseract-ocr:一个开源的OCR类库,要求是在3.01以上(能够用 tesseract --version 命令检测版本)git
PIL:Python的图片处理类库github
Python的版本>=2.7shell
个人测试环境是ubuntu 15.10
ubuntu
能够使用help命令检查是否存在须要PIL测试
Python 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> help("modules")
若是不存在PIL,能够使用命令安装ui
$ sudo apt-get install python-imaging
安装tesseract-ocr。code
这个安装步骤相对来讲比较简单。orm
从网上下载源码包以后进行解压,而后进行编译安装便可,安装步骤以下:
./autogen.sh ./configure make sudo make install sudo ldconfig
安装语言包,这个能够从网上直接安装,我这里只是安装了英文和中文的语言包
$ sudo apt-get install tesseract-ocr-eng tesseract-ocr-chi-sim
而后配置系统环境:
export TESSDATA_PREFIX="tessdata所在的路径”
这样就能够进行测试了
$ tesseract t2.png out -l chi_sim
至此,环境已经处理完毕,就能够按照说明来安装pyocr了。
下载pyocr源码包,解压执行命令去安装
$ sudo python ./setup.py install
若是没有出现意外的话就已经安装成功,能够尝试一个demo来验证咱们的安装配置是否成功
下面是一个识别图片上中文的demo,这个能够根据本身的环境修改:
from PIL import Image import sys import pyocr import pyocr.builders image_path = sys.argv[1] tools = pyocr.get_available_tools() if len(tools) == 0: print("No OCR tool found") sys.exit(1) tool = tools[0] print("Will use tool '%s'" % (tool.get_name())) # Ex: Will use tool 'tesseract' langs = tool.get_available_languages() print("Available languages: %s" % ", ".join(langs)) lang = langs[1] print("Will use lang '%s'" % (lang)) # Ex: Will use lang 'fra' txt = tool.image_to_string( Image.open(image_path), , builder=pyocr.builders.TextBuilder() ) print txt
~
须要说明的是,安装tesseract-ocr须要编译环境的支持,我这边没有检查,因此出现了下面的错误
一、wrong: autogen.sh: 60: autogen.sh: aclocal: not found
缺乏: automake
二、autogen.sh: 65: autogen.sh: libtoolize: not found
autogen.sh: 65: autogen.sh: glibtoolize: not found
缺乏: libtool
三、configure: error: leptonica not found
sudo apt-get install libleptonica-dev