Python验证码识别的方法

yipeiwu_com7年前Python基础

本文实例讲述了Python验证码识别的方法。分享给大家供大家参考。具体实现方法如下:

#encoding=utf-8
import Image,ImageEnhance,ImageFilter
import sys
image_name = "./22.jpeg"
#去处 干扰点
im = Image.open(image_name)
im = im.filter(ImageFilter.MedianFilter())
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
#im.show() #测试查看
s = 12   #启始 切割点 x
t = 2    #启始 切割点 y
w = 10   #切割 宽 +y
h = 15   #切割 长 +x
im_new = []
for i in range(4): #验证码切割
  im1 = im.crop((s+w*i+i*2,t,s+w*(i+1)+i*2,h))
  im_new.append(im1)
#im_new[0].show()#测试查看
xsize, ysize = im_new[0].size
gd = []
for i in range(ysize):
  tmp=[]
  for j in range(xsize):
    if( im_new[0].getpixel((j,i)) == 255 ):
      tmp.append(1)
    else:
      tmp.append(0)
  gd.append(tmp)
#看效果
for i in range(ysize):
  print gd[i]

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python将字符串转变成dict格式的实现

python将字符串转变成dict格式的实现

字符串的内容是字典,需将字符串转变成字典格式 s1 = '{"lid":2,"date":"20190211","type":"1,2","page":1}' # dict的key和...

python实现在一个画布上画多个子图

python实现在一个画布上画多个子图

matplotlib 是可以组合许多的小图, 放在一张大图里面显示的. 使用到的方法叫作 subplot. 均匀画图 使用import导入matplotlib.pyplot模块, 并简写...

在Linux命令行终端中使用python的简单方法(推荐)

在Linux命令行终端中使用python的简单方法(推荐)

Linux终端中的操作均是使用命令行来进行的。因此,对于小白来说,熟记几个基本的命令行和使用方法能够较快的在Linux命令行环境中将python用起来。 打开命令行窗口 打开命令行窗口的...

python os用法总结

python os用法总结

前言:在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这就依赖于os模块,所...

django 中使用DateTime常用的时间查询方式

1、lt:小于 queryset=yourobject.objects .filter(时间字段名称__lt=start) 2、lte:小于等于 queryset=yourob...