这篇博客及之后的系列,我会向大家介绍各种验证码的识别。包括普通图形验证码,极验滑动验证码,点触验证码,微博宫格验证码。

一.普通图形验证码

  之前的博客已向大家介绍了简单的图形验证码的处理过程,但是会和实际的有所差别,这是因为验证码内的多余线条与图案干扰了图片的识别。因此,对于这种情况,需要我们进行一些处理,然后才能识别出正确的结果,下面是进行处理的方法。

1.灰度处理

  可以用Image对象的convert()方法传入参数L,就可以把图片转化为灰度图像,如下代码:

img = Image.open('1.jpg')
image = img.convert('L')
image.show()

结果为:

2.二值化处理

  可以传入1进行二值化处理,如下代码:

img = Image.open('1.jpg')
image = img.convert('1')
image.show()

结果为:

  还可以指定二值化的阈值,默认的阈值是127,要指定的话必须要先转化为灰度图像,再指定二值化的阈值。代码如下:

image = Image.open('1.jpg')
# 先转化为灰度图片
image = image.convert('L')
threshold = 180 # 设置阈值
my = []
for i in range(256):
if i < threshold:
my.append(0)
else:
my.append(1) # 二值化处理
image = image.point(my,'1')
image.show()

  这里原来的验证码中的线条已经去除,验证码变得很清楚。这个时候重新识别验证码,结果如下:

python验证码处理(1)的更多相关文章

  1. Python验证码6位自动生成器

    Python验证码6位自动生成器

  2. python验证码识别

    关于利用python进行验证码识别的一些想法 用python加“验证码”为关键词在baidu里搜一下,可以找到很多关于验证码识别的文章.我大体看了一下,主要方法有几类:一类是通过对图片进行处 理,然后 ...

  3. Python 验证码识别-- tesserocr

    Python 验证码识别-- tesserocr tesserocr 是 Python 的一个 OCR 识别库 ,但其实是对 tesseract 做的一 层 Python API 封装,所以它的核心是 ...

  4. 【转】Python验证码识别处理实例

    原文出处: 林炳文(@林炳文Evankaka) 一.准备工作与代码实例 1.PIL.pytesser.tesseract (1)安装PIL:下载地址:http://www.pythonware.com ...

  5. Python 验证码识别(别干坏事哦...)

    关于python验证码识别库,网上主要介绍的为pytesser及pytesseract,其实pytesser的安装有一点点麻烦,所以这里我不考虑,直接使用后一种库. python验证码识别库安装 要安 ...

  6. python 验证码 高阶验证

    python 验证码 高阶验证 标签: 验证码python 2016-08-19 15:07 1267人阅读 评论(1) 收藏 举报  分类: 其他(33)    目录(?)[+]   字符型图片验证 ...

  7. Windows平台python验证码识别

    参考: http://oatest.dragonbravo.com/Authenticate/SignIn?returnUrl=%2f http://drops.wooyun.org/tips/631 ...

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

    版权声明:本文为博主林炳文Evankaka原创文章,转载请注明出处http://blog.csdn.net/evankaka 一.准备工作与代码实例 1.PIL.pytesser.tesseract ...

  9. python 验证码

    python写的验证码小程序 ##################验证码,数字+字母 import random check_code="" for i in range(6): ...

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

    一.准备工作与代码实例 1.PIL.pytesser.tesseract (1)安装PIL:下载地址:http://www.pythonware.com/products/pil/(CSDN下载) 下 ...

随机推荐

  1. idea使用心得

    简单的概括如下: IntelliJ系中的 Project  相当于Eclipse系中的  Workspace : IntelliJ系中的 Module  相当于Eclipse系中的  Project  ...

  2. SQL Server中的LEFT、RIGHT函数

    SQL Server中的LEFT.RIGHT函数. LEFT:返回字符串中从左边开始指定个数字符. LEFT(character_expression,integer_expression); RIG ...

  3. js将4个字节型字符串转为Float

    function convertFloat(byteStr) { var buffer = str2ArrayBuffer(byteStr, 4); var dataView = new DataVi ...

  4. form分辨率

    近期做项目时,遇到开发的winform在自己电脑上可以正常显示,共享到其他电脑就事儿不能显示了: [转载自:http://blog.csdn.net/lcawen88/article/details/ ...

  5. 软件工程基础团队第二次作业(团队项目-需求分析&系统设计)成绩汇总

    一.作业题目 团队第二次作业:需求分析&系统设计 二.具体要求 1.作业任务 任务一:组长组织项目组开展需求调研工作(可采取需求调查.问卷.分析已有软件.网上资料等方法).概要设计.详细设计. ...

  6. client-go向controller进发---手动实现

    参考URL: https://www.jianshu.com/p/49f741492874 完全靠手动实现,不用code-generator,kubebuilder或是operator-sdk. 要注 ...

  7. client-go集群外认证k8s

    除了认证外,还判断了操作系统. 且根据不同的系统,生成不同的文件. 在集群外认证时,使用的是k8s官方的方式, 而不是第三方库. package main import ( "flag&qu ...

  8. 攻防世界web-NaNNaNNaNNaN-Batman

    先把附件下载下来,然后打开,一堆js乱码 把最后的eval修改成alert,再将文件后缀修改成html,用浏览器打开,乱码变正常了 之后把js代码对齐一下,这里用这个网站进行对齐 https://be ...

  9. CF757F Team Rocket Rises Again

    题意 建出最短路图(DAG)之后就跟这题一样了. code: #include<bits/stdc++.h> using namespace std; #define int long l ...

  10. Office Online Server 在线编辑Office文档,安装部署

    Office Online Server部署安装 部署环境 一台windows server2012 (搭建域环境)/多次遇坑之后,强烈建议域环境为server2012 一台windows serve ...