# -*- coding: utf-8 -*-
"""
Created on Tue Jul 17 09:35:20 2018
@author: Python
"""
from captcha.image import ImageCaptcha
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import random
number=['0','1','2','3','4','5','6','7','8','9']
alph=['a','b','c','d','e','f','g','h','i','g','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
ALPH=['A','B','C','D','E','F','G','H','I','G','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
def random_captcha_text(size=4,charset=number+alph+ALPH):
captcha_text=[]
for i in range(size):
c=random.choice(charset)
captcha_text.append(c)
return captcha_text
def gen_captcha_image():
#生成验证码图片对象
image=ImageCaptcha()
#生成验证码字母数字组合
captcha_text = random_captcha_text()
captcha_text = "".join(captcha_text)
#传入字符串
captchaInfo = image.generate(captcha_text)
#打开Image对象生成验证码的信息和图片
captcha_image = Image.open(captchaInfo)
captcha_image = np.array(captcha_image)
return captcha_text,captcha_image
if __name__=="__main__":
#生成验证码和图片
text,image =gen_captcha_image()
#显示生成的验证码和图片
f=plt.figure()
ax = f.add_subplot(111)
ax.text(0.5,0.9,text,ha='center',va='center')
plt.imshow(image)
plt.show()