python+opencv2生成随机字母

来源:互联网 发布:022型导弹艇 知乎 编辑:程序博客网 时间:2024/06/04 22:24

我们知道现在的各大网站,在注册以及登陆的过程中会有输入验证码这一步骤。但是验证码是如何生成的呢,下面我们就来看一下:

import Image, ImageDraw, ImageFont, ImageFilter
import random


#定义函数,生成 随机字母:
def rndChar():
    return chr(random.randint(65, 90))


# 定义函数,功能为:生成随机颜色1:
def rndColor():
    return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))


# 定义函数,功能为:随机颜色2:
def rndColor2():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))


# 320 x 80:
width = 80 * 4
height = 80
image = Image.new('RGB', (width, height), (255, 255, 255))
# 建立字符类型对象:
font = ImageFont.truetype('Arial.ttf', 36)
# 建立绘图对象:
draw = ImageDraw.Draw(image)
# 在图形中填充每一个像素:
for x in range(width):
    for y in range(height):
        draw.point((x, y), fill=rndColor())
# 输出字符:
for t in range(4):
    draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
# 后处理:
image = image.filter(ImageFilter.BLUR)
image.save('code.jpg', 'jpeg');
image.show()

结果展示如下:



0 0
原创粉丝点击