学习图片处理和简单的验证码识别

Posted 老蔡的Python编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习图片处理和简单的验证码识别相关的知识,希望对你有一定的参考价值。

在前面一课中讲了控制浏览器登陆违章查询系统,在需要输入验证码的时候,需要手工在程序中输入获取的验证码,这一次我们看看能否自动识别。

识别验证码,有两个思路,一个思路是使用OCR软件,一个是使用人工智能AI去搞定。AI这条路,会在进阶篇中探讨,这里只要讲OCR方案。

OCR这个方案,应该都有过体验,一篇文章需要输入电脑,安装一个OCR软件就能搞定。不过,对于OCR,我一直没有啥好的体验,估计我用的都是很差的那种。

我们仍然按照准备、实施、总结的节奏开始这个课程

一、知识及环境准备

对于python,我们引入的是tesseract-ocr 3.05.01,参见百度经验的这个帖子 https://jingyan.baidu.com/article/219f4bf788addfde442d38fe.html,先安装起来。


二、识别的过程

识别验证码通常是这几个步骤:

1、灰度处理

2、二值化

3、去除边框(如果有的话)

4、降噪

5、切割字符或者倾斜度矫正

6、训练字体库

7、识别

这里,参见这个帖子就好 https://www.cnblogs.com/qqandfqr/p/7866650.html


可是,非常不幸,公安系统的验证码是比较高级的,字符完全粘连,很难切割成单独字符再训练,OCR这条路是个死胡同。

怎么办呢,后面的进阶篇,会讲使用Tensorflow框架的AI方案,到那个时候我们再来挑战。


三、总结和提高

在这一课里,我们主要是学习了图片的基本处理,复习下:

import Image  #引入一个图片处理模块
import pytesseract  #引入OCR模块
im = Image.open('XX.JPG') #读取一个图片
aa = pytesseract.image_to_string(out) #OCR识别
print(aa)


以上是关于学习图片处理和简单的验证码识别的主要内容,如果未能解决你的问题,请参考以下文章

爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别

向量空间验证码识别

简单的验证码识别

基于Tensorflow的验证码识别

验证码识别与生成类API调用的代码示例合集:六位图片验证码生成四位图片验证码生成简单验证码识别等

简单二十行Python代码实现验证码识别技术!