Python验证码识别处理实例(转)

简介: 一、准备工作与代码实例 1、PIL、pytesser、tesseract (1)安装PIL:下载地址:http://www.pythonware.com/products/pil/(CSDN下载) 下载后是一个exe,直接双击安装,它会自动安装到C:\Python27\Lib\site-packages中去, (2)pytesser:下载地址:http://code.

一、准备工作与代码实例

1、PIL、pytesser、tesseract

(1)安装PIL:下载地址:http://www.pythonware.com/products/pil/(CSDN下载)

下载后是一个exe,直接双击安装,它会自动安装到C:\Python27\Lib\site-packages中去,

(2)pytesser:下载地址:http://code.google.com/p/pytesser/,(CSDN下载)

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

(3)Tesseract OCR engine下载:http://code.google.com/p/tesseract-ocr/(CSDN下载)

下载后解压,tessdata文件夹,用其替换掉pytesser解压后的tessdata文件夹即可。(就上面的pytesser文件夹)

二、验证

(1)原理:

验证码图像处理

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

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


(2)验证字符识别

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

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

 

要验证的图片如下:

(3)、简单的命令:

 

[python]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. from pytesser import *  
  2. image = Image.open('1.jpg')  # Open image object using PIL  
  3. print image_to_string(image)     # Run tesseract.exe on image  

然后运行:

 

 

 

 

或者直接:

 

[html]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. print image_file_to_string('fnord.tif')  

同样能输出结果!

 

(4)、复杂一点的

上面的只能对一些比较简单的做处理,一

原理:彩色转灰度,灰度转二值,二值图像识别

 

[python]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. # 验证码识别,此程序只能识别数据验证码  
  2. import Image    
  3. import ImageEnhance    
  4. import ImageFilter    
  5. import sys    
  6. from pytesser import *  
  7. # 二值化    
  8. threshold = 140    
  9. table = []    
  10. for i in range(256):    
  11.     if i < threshold:    
  12.         table.append(0)    
  13.     else:    
  14.         table.append(1)    
  15.     
  16. #由于都是数字    
  17. #对于识别成字母的 采用该表进行修正    
  18. rep={'O':'0',    
  19.     'I':'1','L':'1',    
  20.     'Z':'2',    
  21.     'S':'8'    
  22.     };    
  23.     
  24. def  getverify1(name):          
  25.     #打开图片    
  26.     im = Image.open(name)    
  27.     #转化到灰度图  
  28.     imgry = im.convert('L')  
  29.     #保存图像  
  30.     imgry.save('g'+name)    
  31.     #二值化,采用阈值分割法,threshold为分割点   
  32.     out = imgry.point(table,'1')    
  33.     out.save('b'+name)    
  34.     #识别    
  35.     text = image_to_string(out)    
  36.     #识别对吗    
  37.     text = text.strip()    
  38.     text = text.upper();      
  39.     for r in rep:    
  40.         text = text.replace(r,rep[r])     
  41.     #out.save(text+'.jpg')    
  42.     print text    
  43.     return text    
  44. getverify1('1.jpg')  #注意这里的图片要和此文件在同一个目录,要不就传绝对路径也行    


运行后效果:

 

 

http://blog.csdn.net/evankaka/article/details/49533493

目录
相关文章
|
机器学习/深度学习 数据采集 API
Python自动化解决滑块验证码的最佳实践
Python自动化解决滑块验证码的最佳实践
|
算法 Python
Apriori算法的Python实例演示
经过运行,你会看到一些集合出现,每个集合的支持度也会给出。这些集合就是你想要的,经常一起被购买的商品组合。不要忘记,`min_support`参数将决定频繁项集的数量和大小,你可以根据自己的需要进行更改。
632 18
|
前端开发 搜索推荐 编译器
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
2158 34
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
|
数据采集 Web App开发 文字识别
Python爬虫多次请求后被要求验证码的应对策略
Python爬虫多次请求后被要求验证码的应对策略
|
人工智能 算法 数据安全/隐私保护
[oeasy]python080如何生成验证码_随机数字密码_真随机
本文介绍了如何生成随机验证码的过程,从简单的随机数字生成到包含数字、大小写字母及符号的复杂验证码。通过 Python 的 `random` 和 `string` 模块,逐步扩展字符集并确保结果满足特定要求(如包含各类字符)。同时探讨了随机数生成的本质,指出计算机中的“随机”实际上是基于算法和种子值的伪随机,并非真正的物理随机。最后总结了验证码的生成原理及其在实际应用中的意义,为读者揭开日常生活中验证码背后的编程逻辑。
796 8
|
缓存 安全 Android开发
Python实战:搭建短信转发器,实现验证码自动接收与处理
在移动互联网时代,短信验证码是重要的安全手段,但手动输入效率低且易出错。本文介绍如何用Python搭建短信转发器,实现验证码自动接收、识别与转发。通过ADB工具监听短信、正则表达式或ddddocr库提取验证码,并利用Flask框架转发数据。系统支持多设备运行,具备安全性与性能优化功能,适合自动化需求场景。未来可扩展更多功能,提升智能化水平。
2819 1
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
1974 5
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
488 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
Python 练习实例100
Python 练习实例100
|
Python
Python中的push方法详解与实例
Python中的push方法详解与实例
426 3

推荐镜像

更多