import os
import random
import numpy as np
from captcha.image import ImageCaptcha
from random import randint
from PIL import Image
import matplotlib.pyplot as plt
code_char_set = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z',
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
'W', 'X', 'Y', 'Z']
def random_code_text(code_size):
code_text=[]
for i in range(code_size):
c=random.choice(code_char_set)
code_text.append(c)
return code_text
code_char_2number_dict=dict(zip(code_char_set,range(len(code_char_set))))
def generate_code_image(code_size):
image=ImageCaptcha()
code_text=random_code_text(code_size)
code_text=''.join(code_text)
captcha=image.generate(code_text)
image.write(code_text,'captcha/'+code_text+'.jpg')
print(captcha)
code_image=Image.open(captcha)
code_image=np.array(code_image)
return code_text,code_image
if __name__ == '__main__':
for i in range(1000):
generate_code_image(4)
text,image=generate_code_image(4)
ax=plt.figure()
print(code_char_2number_dict['Z'])
ax.text(0.1,0.9,text,ha='center',va='center')
plt.imshow(image)
plt.show()
使用卷积神经网络识别验证码的训练集
最新推荐文章于 2024-04-29 22:46:19 发布