Python验证码识别的方法

yipeiwu_com6年前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递归函数定义与用法示例

本文实例讲述了Python递归函数定义与用法。分享给大家供大家参考,具体如下: 递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,...

Python字典数据对象拆分的简单实现方法

本文实例讲述了Python字典数据对象拆分的简单实现方法。分享给大家供大家参考,具体如下: 有朋友问了下问题: {'A1;A2': 'B','A3': 'C'}这种数据结构要拆解成{'A...

浅谈Python的Django框架中的缓存控制

关于缓存剩下的问题是数据的隐私性以及在级联缓存中数据应该在何处储存的问题。 通常用户将会面对两种缓存: 他或她自己的浏览器缓存(私有缓存)以及他或她的提供者缓存(公共缓存)。 公共缓存由...

为Python的Tornado框架配置使用Jinja2模板引擎的方法

tornado 默认有一个模板引擎但是功能简单(其实我能用到的都差不多)使用起来颇为麻烦, 而jinja2语法与django模板相似所以决定使用他. 下载jinja2 还是用pip 下载...

Python 实现opencv所使用的图片格式与 base64 转换

将np图片(imread后的图片)转码为base64格式 def image_to_base64(image_np): image = cv2.imencode('.jpg',...