Win7下安装Python图像处理库PIL、pytesser、tesseract进行验证码识别

本文介绍了在64位Windows 7环境下,如何解决PIL官方仅提供32位版本的问题,通过安装Pillow替代PIL,并详细讲述了安装过程。同时,文章还涉及了pytesser的使用,包括依赖库的安装和配置,以及可能出现的问题和解决方法。
摘要由CSDN通过智能技术生成

前言


今天看见一个关于Python进行验证码识别的文章,其中代码很短,但是感觉很有趣,加上最近也在学习一些简单的Python知识,所以决定实验一下

准备工作


PIL版本选择

从网上搜索得知,PIL官方只有32位的安装文件,安装时会提示找不到python的安装路径。64位Win7下无法安装PIL库的原因是:PIL官方http://www.pythonware.com/products/pil/提供的PIL二进制安装库包都是32位的。64位程序和32位程序检测注册表的位置是不一样的:64位程序检测HKEY_LOCAL_MACHINESOFTWAREPython,而32位程序检测HKEY_LOCAL_MACHINESOFTWAREWow6432NodePython。如果安装的python是64位的,其相关信息都在HKEY_LOCAL_MACHINESOFTWAREPython下面,而32位程序则在HKEY_LOCAL_MACHINESOFTWAREWow6432NodePython下面找Python安装信息,结果找不到了,所以会报错。

网上有非官方的64位库(官方源码编译版),叫做pillow。Pillow是PIL的替代版本。其网址为:http://www.lfd.uci.edu/~gohlke/pythonlibs/

在这个网站上有6个版本,分别为Pillow-3.1.0-cp27-none-win32.whl、Pillow-3.1.0-cp27-none-win_amd64.whl、Pillow-3.1.0-cp34-none-win32.whl、Pillow-3.1.0-cp34-none-win_amd64.whl、Pillow-3.1.0-cp35-none-win32.whl和Pillow-3.1.0-cp35-none-win_amd64.whl。

根据我当前的情况,我下载了Pillow-3.1.0-cp27-none-win32.whl。这个文件并非可执行文件,从网站上介绍,需要使用PIP工具安装。

安装pip

PIP是一个安装和管理Python包的工具 ,是 easy_install的一个替换品。在python中需要使用easy_install来安装PIP。所以,我们首先要确认easy_install是否可用。

在目录C:\Python27\Scripts下会看到easy_install的一些相关文件。在dos窗口,将目录切换到C:\Python27\Scripts下,输入easy_install,如果看到如下字符表示easy_install工具可以正常使用:

C:\Python27\Scripts>easy_install

error: Nourls, filenames, or requirements specified (see –help)

在目录C:\Python27\Scripts下也会看到PIP相关的文件。然后在当前窗口使用easy_install安装PIP。

C:\Python27\Scripts>easy_install.exe pip

通过这个命令即可启动PIP的安装。安装完毕,输入pip命令,则会出现如下字符:

C:\Python27\Scripts>pip

Usage:

pip [options]

Commands:

install Install packages.

download Download packages.

uninstall Uninstall packages.

freeze Output installed packagesin requirements format.

list List installed packages.

show Show information aboutinstalled packages.

search Search PyPI for packages.

wheel Build wheels from yourrequirements.

hash Compute hashes of packagearchives.

help Show help for commands.

当我使用PIP安装PIL库的时候,提示pip版本比较旧,需要更新版本:

C:\Python27\Scripts>pip install Pillow-3.1.0-cp27-none-win32.whl

**You areusing pip version 7.0.1, however version 8.0.2 is available.
Youshould consider upgrading via the ‘pip install –upgrade pip’ command.
Pillow-3.1.0-cp34-none-win_amd64.whlis not a supported wheel on this platform**
这里写图片描述
更新完PIP版本,接下来就可以安装PIL库

将C:\Python27\Scripts; 添加到环境变量后可直接在命令行中调用pip命令
这里写图片描述
这里写图片描述

安装PIL

PIP安装完毕,安装PIL库就很容易了。在命令行中执行下面的命令:

pip install (文件位置)./Pillow-3.1.0-cp27-none-win32.whl

安装完毕,需要检查一下安装是否成功。

如下图所示,打开python后,输入import Image,会提示没有这个模块。因为使用pillow库需要使用from PIL import Image代替import Image。按照图中的处理,即可验证PIL是否安装成功。
这里写图片描述

pytesser的使用

pytesser以及其依赖插件下载地址:
链接: http://pan.baidu.com/s/1i3zgpjJ 密码: ueyy

下载解压后直接放C:\Python27\Lib\site-packages(根据你安装的Python路径而不同),同时,新建一个pytesser.pth,内容就写pytesser,注意这里的内容一定要和pytesser这个文件夹同名,意思就是pytesser文件夹,pytesser.pth,及内容都要一样!

这里写图片描述

另外注意一下pytesser.py中第六行的import Image,改成from PIL import Image(因为我们安装的不是原版的PIL而是pillow所以要把这个也改一下)

pytesser同时依赖tesseract-ocr,自然是继续安装tesseract-ocr了
Tesseract OCR engine下载:http://code.google.com/p/tesseract-ocr/CSDN下载

下载后解压,tessdata文件夹,用其替换掉pytesser解压后的tessdata文件夹即可。(就上面的pytesser文件夹)
这里写图片描述


进行实验


书写如下代码

from pytesser import *
im = Image.open('fnord.tif')
print image_to_string(im)

结果如下图所示
这里写图片描述


注意:Python文件需要保存在C:\Python27\Lib\site-packages\pytesser这个目录下,同时要读取的图片也要保存在这个文件夹下,否则会出现如下的情况
这是在桌面上建立的一模一样的Python文件,但是不知道为何会出现如下问题,这里个人能力有限暂时也不知道如何解决

这里写图片描述

小结


开始以为这个东西很好做,但当自己亲手去做的时候发现还是有很多毛病的,前前后后花了大概三个小时的时间才弄好,过程中百度了很多问题,也理解了一些知识,真可谓是路漫漫其修远兮,吾将上下而求索啊

后续学习

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值