Python验证码识别:利用pytesser识别简单图形验证码
2016-11-27 16:23
549 查看
https://my.oschina.net/jhao104/blog/647326?fromerr=xJxwPW5X
简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。计算机涉及到的几何图形处理一般有 2维到n维图形处理,边界区分,面积计算,体积计算,扭曲变形校正。对于颜色则有色彩空间的计算与转换,图形上色,阴影,色差处理等等。
在破解验证码中需要用到的知识一般是 像素,线,面等基本2维图形元素的处理和色差分析。常见工具为:
•支持向量机(SVM)
•OpenCV
•图像处理软件(Photoshop,Gimp…)
•Python Image Library
在Debian/Ubantu Linux下直接通过apt安装:
Max和其他版本的Linux可以直接使用easy_install或pip安装,安装前需要把编译环境装好:
Windos平台可以直接去PIL官网下载exe安装包。http://pythonware.com/products/pil/
注:官网提供的安装包是32位的,63位系统请前往这里 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pillow 下载替代包pillow。
灰度看起来是这样的:
3、二值化处理
二值化是图像分割的一种常用方法。在二值化图象的时候把大于某个临界灰度值的像素灰度设为灰度极大值,把小于这个值的像素灰度设为灰度极小值,从而实现二值化(一般设置为0-1)。根据阈值选取的不同,二值化的算法分为固定阈值和自适应阈值,这里选用比较简单的固定阈值。
把像素点大于阈值的设置,1,小于阈值的设置为0。生成一张查找表,再调用point()进行映射。
处理结果看起来是这样的:
一、探讨
识别图形验证码可以说是做爬虫的必修课,涉及到计算机图形学,机器学习,机器视觉,人工智能等等高深领域……简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。计算机涉及到的几何图形处理一般有 2维到n维图形处理,边界区分,面积计算,体积计算,扭曲变形校正。对于颜色则有色彩空间的计算与转换,图形上色,阴影,色差处理等等。
在破解验证码中需要用到的知识一般是 像素,线,面等基本2维图形元素的处理和色差分析。常见工具为:
•支持向量机(SVM)
•OpenCV
•图像处理软件(Photoshop,Gimp…)
•Python Image Library
二、PIL安装
PIL: Python Imaging Library, 是Python平台的图像处理标准库,功能非常强大。在Debian/Ubantu Linux下直接通过apt安装:
$ sudo apt-get install python-imaging
Max和其他版本的Linux可以直接使用easy_install或pip安装,安装前需要把编译环境装好:
$ sudo easy_install PIL
Windos平台可以直接去PIL官网下载exe安装包。http://pythonware.com/products/pil/
注:官网提供的安装包是32位的,63位系统请前往这里 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pillow 下载替代包pillow。
imgry = im.convert('L') imgry.show()
灰度看起来是这样的:
3、二值化处理
二值化是图像分割的一种常用方法。在二值化图象的时候把大于某个临界灰度值的像素灰度设为灰度极大值,把小于这个值的像素灰度设为灰度极小值,从而实现二值化(一般设置为0-1)。根据阈值选取的不同,二值化的算法分为固定阈值和自适应阈值,这里选用比较简单的固定阈值。
把像素点大于阈值的设置,1,小于阈值的设置为0。生成一张查找表,再调用point()进行映射。
threshold = 140 table = [] for i in range(256): if i < threshold: table.append(0) else: table.append(1) out = imgry.point(table, '1') out.show()
处理结果看起来是这样的:
相关文章推荐
- Python验证码识别:利用pytesser识别简单图形验证码
- Python验证码识别:利用pytesser识别简单图形验证码
- Python验证码识别:利用pytesser识别简单图形验证码
- Python验证码识别:利用pytesser识别简单图形验证码
- python 验证码识别示例(一) 某个网站验证码的简单识别
- 利用python pytesser 识别简单验证码
- Python2.7+pytesser实现简单验证码的识别方法
- 利用Python进行简单的图像识别(验证码)
- 利用Python进行简单的验证码识别步骤
- Python2.7+pytesser简单验证码的识别
- Python2.7+pytesser简单验证码的识别
- 初识验证码以及较为简单的验证码识别 (python)
- 利用Python破解简单的验证码
- 使用python及工具包进行简单的验证码识别
- pytesseract的简单验证码的识别-python
- 【Python】【验证码识别】python 模拟登陆时,验证码自动识别问题
- eoLinker-API_Shop_验证码识别与生成类API调用的代码示例合集:六位图片验证码生成、四位图片验证码生成、简单验证码识别等
- 利用PIL对简单的验证码进行识别
- pytesser简单的图形识别
- 用Python识别简单验证码