• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python验证码识别处理实例

Python验证码识别处理实例

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python 验证码识别,python 验证码,python破解验证码,python 爬虫 验证码,python生成验证码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、准备工作与代码实例
(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、输出结果

要验证的图片如下:

(3)、简单的命令:

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

然后运行:


或者直接:

print image_file_to_string('fnord.tif') 
</div>

同样能输出结果!
(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') #注意这里的图片要和此文件在同一个目录,要不就传绝对路径也行 
</div>

运行后效果:


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

</div>

您可能想查找下面的文章:

  • python图片验证码生成代码
  • Python模拟登录验证码(代码简单)
  • python生成验证码图片代码分享
  • Python验证码识别处理实例
  • Python生成随机验证码的两种方法
  • Python验证码识别处理实例
  • Python生成随机验证码的两种方法
  • Python验证码识别的方法
  • Python编写生成验证码的脚本的教程
  • python实现带验证码网站的自动登陆实现代码

相关文章

  • Python yield 小结和实例
  • python集合类型用法分析
  • Python中Continue语句的用法的举例详解
  • pyside写ui界面入门示例
  • Python入门篇之对象类型
  • python批量同步web服务器代码核心程序
  • Python在Console下显示文本进度条的方法
  • python 安装virtualenv和virtualenvwrapper的方法
  • Python入门学习之字符串与比较运算符
  • python实现爬虫统计学校BBS男女比例(一)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 在tensorflow中设置保存checkpoint的最大数量实例
    • python动态性强类型用法实例
    • python实现矩阵乘法的方法
    • 通过实例解析python描述符原理作用
    • Python 实现随机数详解及实例代码
    • python多线程操作实例
    • 在Python的Django框架中获取单个对象数据的简单方法
    • Python实现Windows和Linux之间互相传输文件(文件夹)的方法
    • 批处理与python代码混合编程的方法
    • Python字符和字符值(ASCII或Unicode码值)转换方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有