import random from captcha.image import ImageCaptcha from PIL import Image from pytesseract import * import PIL.ImageOps import pytesseract yuansu=[str(i) for i in range(10)]+[chr(x) for x in range(65,91)]+[chr(xx) for xx in range(97,97+26)] def crete_captcha(size=6): my_captcha=[] for i in range(size): my_captcha.append(random.sample(yuansu,1)[0]) return my_captcha def create_jpg(): image=ImageCaptcha() my_captcha=crete_captcha() my_captcha=''.join(my_captcha) real_captcha=image.generate(my_captcha) image.write(my_captcha,'我的验证码图像/'+my_captcha+'.jpg') return my_captcha,real_captcha def initTable(threshold=140): table = [] for i in range(256): if i < threshold: table.append(0) else: table.append(1) return table if __name__=='__main__': im = Image.open('BO9O9N.jpg') # 图片的处理过程 im = im.convert('L') binaryImage = im.point(initTable(), '1') im1 = binaryImage.convert('L') im2 = PIL.ImageOps.invert(im1) im3 = im2.convert('1') im4 = im3.convert('L') # 将图片中字符裁剪保留 box = (30, 10, 90, 28) region = im4.crop(box) # 将图片字符放大 out = region.resize((120, 38)) print(im) # asd = pytesseract.image_to_string(out) # print(asd) print(out.show()) # for _ in range(30): # xy,yx=create_jpg()
python验证码生成
最新推荐文章于 2023-12-05 10:11:00 发布