分析

  • 首先是要生成含有数字字母的字符串
  • 然后创建画布,并且随机填充画布的颜色
  • 最后将字符画上去,为了保证画上去的字符不同色,需将这些字符保存为一个列表通过多次画上去,期间要随机设置颜色值

在这里我们通过使用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 生成类数字字母混合验证码图片相关推荐

  1. 用机器学习sklearn+opencv-python过古诗文网4位数字+字母混合验证码

    目录 获取验证码图片 用opencv-python处理图片 制作训练数据集 训练模型 识别验证码 编写古诗文网的登录爬虫代码 总结与提高 源码下载 在本节我们将使用sklearn和opencv-pyt ...

  2. JS实现数字字母混合验证码(数字+大写字母+小写字母)

    我之前写了一篇<JS实现随机验证码>,可以产生随机数字.随机颜色.随机位置,但只能产生数字验证码,今天在此基础上进行改进,使之可以随机大写字母.小写字母.数字三种类型. 思路 我们使用Ma ...

  3. 数字+字母 通用验证码图片识别 无限识别

    背景 最近在研究验证码图片识别,主要是字母+数字类型的验证码图片,找到了很多方法,但是大多都需要自己去通过深度学习自己训练,而且深度学习代码又看不懂.运气好,找到一个完整的深度学习代码能够去自己训练验 ...

  4. React => js+canvas四位数字字母混合验证码(数字+大写字母+小写字母)

    文章目录 此为最终实现效果! 开始进行编写 html添加canvas标签 ref讲解 页面初始化生成验证码 设置生成随机数函数 randomNum() 设置干扰线函数drawLine() 绘制路径 ( ...

  5. php 包含字母随机数_php生成随机数字、字母或数字字母混合的字符串

    这次给大家带来php生成随机数字.字母或数字字母混合的字符串,php生成随机数字.字母或数字字母混合字符串的注意事项有哪些,下面就是实战案例,一起来看一下. php 生成随机字符串,可以指定是纯数字 ...

  6. Java 随机生成 “纯数字“、“纯字母“ 、“数字字母混合“ ID 并保持全局唯一

    文章目录 随机生成 "纯数字"."纯字母" ."数字字母混合" ID并保持全局唯一 一.随机生成纯数字ID 二.随机生成纯字母ID 三.随机 ...

  7. Python生成随机五位数——模仿手机验证码

    使用Python生成随机的五位手机验证码. # -*- coding:utf-8 -*-#生成五位随机数,模仿手机验证码#导入random库,可以生成随机数 import randomdef ran( ...

  8. C#生成含数字字母的随机字符串

    C#生成含数字字母的随机字符串 要求生成的字符串是随机的,也就是字母和数字都需要随机,既可能只包含数字,也可能只包含字母,也可能两者都有. 实现方式如下: 首先定义一个包含所有字母和数字的字符串和一个 ...

  9. 随机发送n位数字+字母的验证码

    ''' 随机发送n位数字+字母的验证码 ''' import randomdef get_verified(length):code = ''for i in range(length):num = ...

最新文章

  1. symfony 2 app.php,php / symfony2从URL隐藏app.php
  2. js数组去重解决方案
  3. JS如何从数组中随机取出若干个数,且不重复
  4. 关于运算符重载的问题
  5. Python+Selenium 自动化-指定chrome驱动运行selenium实例演示,运行指定位置下的浏览器驱动
  6. 使用Java代码在SAP Marketing Cloud上创建Contact数据
  7. 如何将系统退回上个版本Android,vivo NEX A降级教程,如何回退到旧版本系统的方法...
  8. 设计模式:代理模式(C++)【代理服务器案例】
  9. ubuntu 自动挂载工具_Ubuntu自动挂载分区
  10. dos怎么退出debug_电脑主板坏了怎么办?浅谈主板常见的故障以及应对办法
  11. Pytorch nn.functional.unfold()的简单理解与用法
  12. Altium designer快速查找PCB中的元器件
  13. 移动硬盘使用时间、读写速度和坏道查询
  14. 计算机上的程序全是应用程序,手把手教你不是有效的 win32 应用程序怎么解决...
  15. 微信小程序的后台在哪里云开发控制台操作方法
  16. english_搭配
  17. 两个DIV并列排在一个大的DIV中
  18. 【c#】MD5加密实现
  19. python图像处理 马赛克效果
  20. 【vue练手01之点击选中】

热门文章

  1. Mac和Windows哪个好 ?windows和mac对比介绍
  2. 【JavaWeb】JQuery实现广告显示和隐藏动画效果
  3. 如何实现多列对比去重
  4. [JZOJ]2109 清兵线 题解
  5. golang和经济学相关资料学习,还不错,果然B站是个学习的好地方。
  6. 仿淘宝购物车demo---增加和减少商品数量
  7. mysql 保存表情包
  8. 楚留香冰最新服务器,一梦江湖:各门派冰雪外观极寒之刃上线,冰晶透亮玩家直呼绝了!...
  9. vite+ts+vue3 知识点(全局组件,局部组件,递归组件)
  10. 手把手教你接入微信开放平台,实现网站拉起微信账号登录,从0开始详细记录