逻辑回归案例

应用案例

之前学习了逻辑回归,我们现在来做一个案例。
一个图片验证码识别的案例:怎么从图片中准确的识别出正确的数字。
我们分了三步。
第一步:先生成150验证码图片,每个图片有5个数字。图片中有随机的噪点。
具体代码实现:

"""
Date: 2019--10 09:39
User: yz
Email: 1147570523@qq.com
Desc:

"""
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
import random

def getRandomStr():
    random_num=str(random.randint(0,9))
    return random_num

def getRandomColor():
    #生成三个0~255的随机数字
    num1=random.randint(0,255)
    num2=random.randint(0,255)
    num3=random.randint(0,255)
    return num1,num2,num3

def generate_captcha():
    image=Image.new("RGB",(150,50),(255,255,255))
    draw=ImageDraw.Draw(image)
    font=ImageFont.truetype("LiberationSans-Bold.ttf",size=32)

    lable=""
    for i in range(5):
        #得到一个随机的数字
        random_char=getRandomStr()
        lable +=random_char
        draw.text((10+i*30,0),random_char,getRandomColor(),font=font)

    width =150
    height=30

    for i in range(3):
        x1=random.randint(0,width)
        x2=random.randint(0,width)
        y1=random.randint(0,height)
        y2=random.randint(0,height)
        draw.line((x1,y1,x2,y2),fill=(0,0,0))

    for i in range(5):
        draw.point([random.randint(0,width),random.randint(0,height)],fill=getRandomColor())
        x=random.randint(0,width)
        y=random.randint(0,height)
        draw.arc((x,y,x+4,y+4),0,90,fill=(0,0,0))
    #保存
    image.save(open(''.join(['img/',lable,'.png']),'wb'),'png')

if __name__ == '__main__':
    for i in range(150):
        generate_captcha()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值