根据网上的大牛对python验证码识别的方法做了一些总结,代码如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
模块介绍:先抓取一定数目的原始验证码,接着对其进行二值去噪,根据去噪后的验证码进行切分,形成一个个单独的字符图片,
作为字模,当然字模得覆盖完全所有的字符。字模创建完成后,根据需要识别的验证码,同样对其进行二值去噪、切分之后,和字模
中的字符图片一一进行对比,对比方法是对比两个图片的每个像素,差距最小的则即为识别后的字符。
"""
import os
import Image
import urllib2
# 下载验证码用于提取字库,下载的原始验证码存放在pic目录中
def fetch_pic_code():
url='xxx'
for i in range(50):
file("pic/%d.jpg" %i,"wb").write(urllib2.urlopen(url).read())
# 根据原始验证码进行二值去噪,去噪后的验证码存储在pic_binary中
def binaryzation():
dir_pic="pic/"
for f in os.listdir(dir_pic):
img=Image.open(dir_pic+f)
img=img.convert("RGBA")
pixdata=img.load()
for y in xrange(img.size[1]):
for x in xrange(img.size[0]):
if pixdata