from captcha.image import ImageCaptcha
import numpy as np
from PIL import Image
import random
import time
import os
import cv2
import matplotlib.pyplot as plt
number = ['0','1','2','3','4','5','6','7','8','9']
alphabet = ['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']
ALPHABET = ['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']
# generate an random array of size 4
def random_captcha_text(char_set=number+alphabet+ALPHABET,captcha_size=4):
captcha_text=[]
for i in range(captcha_size):
random.seed(time.time())
random.shuffle(char_set)
# print(char_set)
c=random.choice(char_set)
captcha_text.append(c)
return captcha_text
# Randomly generate pictures of four numbers
def gen_captcha_text_and_image():
while(1):
image=ImageCaptcha()
captcha_text=random_captcha_text()
captcha_text="".join(captcha_text)
captcha=image.generate(captcha_text)
# image.write(captcha_text, captcha_text + '.jpg')
captcha_image=Image.open(captcha)
# captcha_image.show()
captcha_image=np.array(captcha_image)
# print(captcha_image.shape)
if captcha_image.shape==(60,160,3):
break
return captcha_text,captcha_image
if __name__ == '__main__':
text,image=gen_captcha_text_and_image()
print(text)
print(image.shape)
gray=np.mean(image,-1)
print(gray.shape)
fig=plt.figure()
ax=fig.add_subplot(111)
ax.text(0.1,0.9,text,ha='center',va='center',transform=ax.transAxes)
plt.imshow(image)
# plt.show()
path='./image' #存放二维码为的位置
for i in range(500): #生成二维码的数量
text,image=gen_captcha_text_and_image()
fullPath=os.path.join(path,text+".jpg")
cv2.imwrite(fullPath,image)
print(text + "{0}/10000".format(i))
from captcha.image import ImageCaptcha
import numpy as np
from PIL import Image
import random
import time
import os
import cv2
import matplotlib.pyplot as plt
number = ['0','1','2','3','4','5','6','7','8','9']
alphabet = ['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']
ALPHABET = ['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']
# generate an random array of size 4
def random_captcha_text(char_set=number+alphabet+ALPHABET,captcha_size=4):
captcha_text=[]
for i in range(captcha_size):
random.seed(time.time())
random.shuffle(char_set)
# print(char_set)
c=random.choice(char_set)
captcha_text.append(c)
return captcha_text
# Randomly generate pictures of four numbers
def gen_captcha_text_and_image():
while(1):
image=ImageCaptcha()
captcha_text=random_captcha_text()
captcha_text="".join(captcha_text)
captcha=image.generate(captcha_text)
# image.write(captcha_text, captcha_text + '.jpg')
captcha_image=Image.open(captcha)
# captcha_image.show()
captcha_image=np.array(captcha_image)
# print(captcha_image.shape)
if captcha_image.shape==(60,160,3):
break
return captcha_text,captcha_image
if __name__ == '__main__':
text,image=gen_captcha_text_and_image()
print(text)
print(image.shape)
gray=np.mean(image,-1)
print(gray.shape)
fig=plt.figure()
ax=fig.add_subplot(111)
ax.text(0.1,0.9,text,ha='center',va='center',transform=ax.transAxes)
plt.imshow(image)
# plt.show()
path='./image'
for i in range(500):
text,image=gen_captcha_text_and_image()
fullPath=os.path.join(path,text+".jpg")
cv2.imwrite(fullPath,image)
print(text + "{0}/10000".format(i))