欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

随机生成验证码

程序员文章站 2022-05-19 20:57:00
...

随机生成验证码


# -*- coding: utf-8 -*-
"""
Created on Mon Sep 16 01:21:02 2019

@author: Administrator
"""
import random
from captcha.image  import ImageCaptcha
import numpy as np
from PIL  import Image
import matplotlib.pyplot as plt

num=['0','1','2','3','4','5','6','7','8','9']
alph=['a','b','c','d','e','f','g','h','i','j'  
    ,'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','J'  
    ,'L','M','N','O','P','Q','R','S','T','U',
    'V','W','X','Y','Z']

def random_captcha_text(size=4,charset=num+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)
    #传入字符串,生成一个png图片
    catpchaInfo=image.generate(captcha_text)
    #打开Image对象,生成验证码的信息和图片
    captcha_image=Image.open(catpchaInfo)
    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(1.1,1.9,text,ha='center',va='center')
    plt.imshow(image)
    plt.show()

运行效果图:
随机生成验证码

相关标签: 生成验证码