Python验证码识别处理实例


Posted in Python onDecember 28, 2015

一、准备工作与代码实例
(1)安装PIL:下载后是一个exe,直接双击安装,它会自动安装到C:\Python27\Lib\site-packages中去,
(2)pytesser:下载解压后直接放C:\Python27\Lib\site-packages(根据你安装的Python路径而不同),同时,新建一个pytheeer.pth,内容就写pytesser,注意这里的内容一定要和pytesser这个文件夹同名,意思就是pytesser文件夹,pytesser.pth,及内容都要一样!
(3)Tesseract OCR engine下载:下载后解压,tessdata文件夹,用其替换掉pytesser解压后的tessdata文件夹即可。

二、验证
(1)原理:
验证码图像处理

验证码图像识别技术主要是操作图片内的像素点,通过对图片的像素点进行一系列的操作,最后输出验证码图像内的每个字符的文本矩阵。

  • 1、读取图片
  • 2、图片降噪
  • 3、图片切割
  • 4、图像文本输出

(2)验证字符识别

验证码内的字符识别主要以机器学习的分类算法来完成,目前我所利用的字符识别的算法为KNN(K邻近算法)和SVM (支持向量机算法),后面我 会对这两个算法的适用场景进行详细描述。

  • 1、获取字符矩阵
  • 2、矩阵进入分类算法
  • 3、输出结果

要验证的图片如下:

Python验证码识别处理实例

(3)、简单的命令:

from pytesser import * 
image = Image.open('1.jpg') # Open image object using PIL 
print image_to_string(image)  # Run tesseract.exe on image

然后运行:

Python验证码识别处理实例

或者直接:

print image_file_to_string('fnord.tif')

同样能输出结果!
(4)、复杂一点的
上面的只能对一些比较简单的做处理,一
原理:彩色转灰度,灰度转二值,二值图像识别

# 验证码识别,此程序只能识别数据验证码 
import Image 
import ImageEnhance 
import ImageFilter 
import sys 
from pytesser import * 
# 二值化 
threshold = 140 
table = [] 
for i in range(256): 
 if i < threshold: 
  table.append(0) 
 else: 
  table.append(1) 
 
#由于都是数字 
#对于识别成字母的 采用该表进行修正 
rep={'O':'0', 
 'I':'1','L':'1', 
 'Z':'2', 
 'S':'8' 
 }; 
 
def getverify1(name):   
 #打开图片 
 im = Image.open(name) 
 #转化到灰度图 
 imgry = im.convert('L') 
 #保存图像 
 imgry.save('g'+name) 
 #二值化,采用阈值分割法,threshold为分割点 
 out = imgry.point(table,'1') 
 out.save('b'+name) 
 #识别 
 text = image_to_string(out) 
 #识别对吗 
 text = text.strip() 
 text = text.upper();  
 for r in rep: 
  text = text.replace(r,rep[r])  
 #out.save(text+'.jpg') 
 print text 
 return text 
getverify1('1.jpg') #注意这里的图片要和此文件在同一个目录,要不就传绝对路径也行

运行后效果:

Python验证码识别处理实例

以上就是本文的全部内容,希望对大家的学习有所帮助。

Python 相关文章推荐
python函数缺省值与引用学习笔记分享
Feb 10 Python
浅谈Python的文件类型
May 30 Python
python rsa 加密解密
Mar 20 Python
flask-restful使用总结
Dec 04 Python
python处理multipart/form-data的请求方法
Dec 26 Python
python交互界面的退出方法
Feb 16 Python
Python OpenCV之图片缩放的实现(cv2.resize)
Jun 28 Python
Python3enumrate和range对比及示例详解
Jul 13 Python
Python-opencv 双线性插值实例
Jan 17 Python
Python drop方法删除列之inplace参数实例
Jun 27 Python
opencv 分类白天与夜景视频的方法
Jun 05 Python
Pygame Rect区域位置的使用(图文)
Nov 17 Python
在Windows系统上搭建Nginx+Python+MySQL环境的教程
Dec 25 #Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 #Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
Dec 25 #Python
Linux系统上Nginx+Python的web.py与Django框架环境
Dec 25 #Python
Linux下将Python的Django项目部署到Apache服务器
Dec 24 #Python
在Linux系统上部署Apache+Python+Django+MySQL环境
Dec 24 #Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
Dec 24 #Python
You might like
两个强悍的php 图像处理类1
2009/06/15 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
PHP后台实现微信小程序登录
2018/08/03 PHP
PHP实现简单登录界面
2019/10/23 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
javascript确认框的三种使用方法
2013/12/17 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
深入理解jquery中的事件与动画
2016/05/24 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
JavaScript实现数值自动增加动画
2017/12/28 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
讲解python参数和作用域的使用
2013/11/01 Python
使用setup.py安装python包和卸载python包的方法
2013/11/27 Python
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
2019/10/14 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
Python中pass的作用与使用教程
2020/11/13 Python
美国在线购物频道:Shop LC
2019/04/21 全球购物
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
护士自荐信怎么写
2013/10/18 职场文书
班级道德讲堂实施方案
2014/02/24 职场文书
实习生评语
2014/04/26 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
交通处罚决定书
2015/06/24 职场文书