pyocr是一个Python的OCR类库,他的github地址是:https://github.com/jflesch/pyocr 。
如果要使用这个类库,需要环境上有几个依赖:
tesseract-ocr:一个开源的OCR类库,要求是在3.01以上(可以用 tesseract --version 命令检测版本)
PIL:Python的图片处理类库
Python的版本>=2.7
我的测试环境是ubuntu 15.10
可以使用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,可以使用命令安装
$ sudo apt-get install python-imaging
安装tesseract-ocr。
这个安装步骤相对来说比较简单。
从网上下载源码包之后进行解压,然后进行编译安装即可,安装步骤如下:
./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需要编译环境的支持,我这边没有检查,所以出现了下面的错误
1、wrong: autogen.sh: 60: autogen.sh: aclocal: not found
缺少: automake
2、autogen.sh: 65: autogen.sh: libtoolize: not found
autogen.sh: 65: autogen.sh: glibtoolize: not found
缺少: libtool
3、configure: error: leptonica not found
sudo apt-get install libleptonica-dev