python验证码生成

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()





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值