利用python实现简单的图像文字识别

一直想研究验证码的识别技术,这个晚上终于闲下来,来好好研究下python验证码的识别!

首先我们需要找一个能够支持识别图像文字的python库文件,这里我使用的是pytesser,还有一款叫pytesseract,其实原理大致相同,利用OCR的识别技术,将图像文字读出来,然后再输出。

下面开始讲pytesser的安装~

首先我们需要安装PIL库,这是一个支持图片处理的python库,用pip命令即可~

安装完PIL库后我们来进行pytesser的安装

这个官方代码在谷歌的代码库中,由于需要翻墙,这时候我们可以选择到csdn中去下载,传送门(还算良心,没要积分。。。)

下载之后我们将pytesser_v0.0.1.zip解压到pytesser的文件夹,这个文件夹是自己创立的,在后续有用~

之后我们将这个pytesser文件夹拖到C:Python27Libsite-packages目录下,这里安装目录因人而异!接下来我们进入这个文件夹将pytesser.py修改为__init__.py

这是为了在我们import时程序会首先调用这个初始化函数,也就为我们的调用及使用提供便利,然后我们需要修改这个__init__.py文件

1.将一开始的import Image修改为from PIL import Image

2.将tesseract_exe_name = ‘tesseract’修改为tesseract_exe_name = ‘C:\Python27\Lib\site-packages\pytesser\tesseract’

这里我们下载的pytesser文件夹中自带tesseract,注意这里我们使用双斜杠

到这里我们的安装配置就已经完成

下面我们开始我们的图像识别之旅(验证码识别)之旅~

我们先来分析下pytesser提供的函数

image_to_string和image_file_to_string这两个函数,这两个函数前一个是将调用了一次PIL库中的Image函数,而后者则是直接在函数里就调用了,其实本质是一样的,下面附代码:

这里fnord.tif是自带的测试图像,经过编译的确可以识别,这里我需要强调的一点是import函数,这个出现了一个问题困扰了我很久,原先看网上的教程都是直接import pytesser,但是无论如何都不能调用其中的函数,在经过多次尝试,我写成这样,发现其中的函数就可以正常调用了~

图片[1]-利用python实现简单的图像文字识别-安全小百科

后续我会去采集一些网站的验证码,并尝试提高验证码的识别效率,好像最终方法就是机器学习。。。噩梦般的开始啊。。。

相关推荐: YIT-CTF(一) WEB类wp

        偶然发现的一个CTF网站,好像是燕京理工学院的一个小比赛,题目不是很多,也不是很难,适合新人入门CTF,以下附上这个小型CTF的wp,题目地址:传送门 1.签到题 签到题总是很简单,可是这种简单程度第一次见。。。连动都不动的,直接告诉答案。。 …

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论