使用 Python 生成类数字字母混合验证码图片
分析
- 首先是要生成含有数字字母的字符串
- 然后创建画布,并且随机填充画布的颜色
- 最后将字符画上去,为了保证画上去的字符不同色,需将这些字符保存为一个列表通过多次画上去,期间要随机设置颜色值
在这里我们通过使用PIL模块来操作图像,random模块进行随机生成
from PIL import Image,ImageDraw,ImageFont,ImageFilter
import random
import string#混合字符串,可自定义
basic_string = '0123456789'+string.letters+'9876543210'
def randColor(): #产生随机颜色return (random.randint(64,255),random.randint(64,255),random.randint(64,255))def randChar(): #产生随机数字字母组合列表return random.sample(basic_string,4)#chr(random.randint(65,90))def pictureDraw():height=60width=240image=Image.new('RGB',(width,height),(255,255,255)) #白色画布font=ImageFont.truetype("C:/windows/fonts/Arial.ttf",36) #画笔字体draw=ImageDraw.Draw(image) #绘画对象for i in range(width):for j in range(height):draw.point((i,j),fill=randColor()) #随机逐像素填充颜色for i in range(4):draw.text((60*i+10,19),randChar()[i],font=font,fill=(random.randint(30,120),random.randint(30,120),random.randint(30,120))) #文本绘画image=image.filter(ImageFilter.BLUR) #产生模糊感image.save('CAPTCHA.jpg','jpeg')image.show()if __name__=='__main__':pictureDraw()
运行结果如下:
使用 Python 生成类数字字母混合验证码图片相关推荐
- 用机器学习sklearn+opencv-python过古诗文网4位数字+字母混合验证码
目录 获取验证码图片 用opencv-python处理图片 制作训练数据集 训练模型 识别验证码 编写古诗文网的登录爬虫代码 总结与提高 源码下载 在本节我们将使用sklearn和opencv-pyt ...
- JS实现数字字母混合验证码(数字+大写字母+小写字母)
我之前写了一篇<JS实现随机验证码>,可以产生随机数字.随机颜色.随机位置,但只能产生数字验证码,今天在此基础上进行改进,使之可以随机大写字母.小写字母.数字三种类型. 思路 我们使用Ma ...
- 数字+字母 通用验证码图片识别 无限识别
背景 最近在研究验证码图片识别,主要是字母+数字类型的验证码图片,找到了很多方法,但是大多都需要自己去通过深度学习自己训练,而且深度学习代码又看不懂.运气好,找到一个完整的深度学习代码能够去自己训练验 ...
- React => js+canvas四位数字字母混合验证码(数字+大写字母+小写字母)
文章目录 此为最终实现效果! 开始进行编写 html添加canvas标签 ref讲解 页面初始化生成验证码 设置生成随机数函数 randomNum() 设置干扰线函数drawLine() 绘制路径 ( ...
- php 包含字母随机数_php生成随机数字、字母或数字字母混合的字符串
这次给大家带来php生成随机数字.字母或数字字母混合的字符串,php生成随机数字.字母或数字字母混合字符串的注意事项有哪些,下面就是实战案例,一起来看一下. php 生成随机字符串,可以指定是纯数字 ...
- Java 随机生成 “纯数字“、“纯字母“ 、“数字字母混合“ ID 并保持全局唯一
文章目录 随机生成 "纯数字"."纯字母" ."数字字母混合" ID并保持全局唯一 一.随机生成纯数字ID 二.随机生成纯字母ID 三.随机 ...
- Python生成随机五位数——模仿手机验证码
使用Python生成随机的五位手机验证码. # -*- coding:utf-8 -*-#生成五位随机数,模仿手机验证码#导入random库,可以生成随机数 import randomdef ran( ...
- C#生成含数字字母的随机字符串
C#生成含数字字母的随机字符串 要求生成的字符串是随机的,也就是字母和数字都需要随机,既可能只包含数字,也可能只包含字母,也可能两者都有. 实现方式如下: 首先定义一个包含所有字母和数字的字符串和一个 ...
- 随机发送n位数字+字母的验证码
''' 随机发送n位数字+字母的验证码 ''' import randomdef get_verified(length):code = ''for i in range(length):num = ...
最新文章
- symfony 2 app.php,php / symfony2从URL隐藏app.php
- js数组去重解决方案
- JS如何从数组中随机取出若干个数,且不重复
- 关于运算符重载的问题
- Python+Selenium 自动化-指定chrome驱动运行selenium实例演示,运行指定位置下的浏览器驱动
- 使用Java代码在SAP Marketing Cloud上创建Contact数据
- 如何将系统退回上个版本Android,vivo NEX A降级教程,如何回退到旧版本系统的方法...
- 设计模式:代理模式(C++)【代理服务器案例】
- ubuntu 自动挂载工具_Ubuntu自动挂载分区
- dos怎么退出debug_电脑主板坏了怎么办?浅谈主板常见的故障以及应对办法
- Pytorch nn.functional.unfold()的简单理解与用法
- Altium designer快速查找PCB中的元器件
- 移动硬盘使用时间、读写速度和坏道查询
- 计算机上的程序全是应用程序,手把手教你不是有效的 win32 应用程序怎么解决...
- 微信小程序的后台在哪里云开发控制台操作方法
- english_搭配
- 两个DIV并列排在一个大的DIV中
- 【c#】MD5加密实现
- python图像处理 马赛克效果
- 【vue练手01之点击选中】
热门文章
- Mac和Windows哪个好 ?windows和mac对比介绍
- 【JavaWeb】JQuery实现广告显示和隐藏动画效果
- 如何实现多列对比去重
- [JZOJ]2109 清兵线 题解
- golang和经济学相关资料学习,还不错,果然B站是个学习的好地方。
- 仿淘宝购物车demo---增加和减少商品数量
- mysql 保存表情包
- 楚留香冰最新服务器,一梦江湖:各门派冰雪外观极寒之刃上线,冰晶透亮玩家直呼绝了!...
- vite+ts+vue3 知识点(全局组件,局部组件,递归组件)
- 手把手教你接入微信开放平台,实现网站拉起微信账号登录,从0开始详细记录