Python3生成手写体数字数据集.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python3⽣成⼿写体数字数据集 0.引⾔   平时经常会接触到验证码,或者在机器 习 习过程中,⼤家或许会接触过⼿写体识别/验证码识别之类问题,会⽤到⼿写体的数据 集 ;    ⾃⼰尝试写了⼀个⽣成⼿写体图⽚的 Python 程序,可以批量⽣成⼿写体数字数据集,在此分享下⽣成 30*30像素 的⼿写体数字 1-9 图⽚ 的⼀种实现⽅法 ;   ⼤概流程 :新建空⽩图像 ⽣成随机数 1-9 将数字写到空⽩图像上 旋转、扭曲 处理 得到 “⼿写体数字” ;   得到的⼿写体数字图像如 图1 所⽰,实现⽐较简单,有兴趣可以⾃⼰试 ;    图1 ⽣成的⼿写体数字 1-9   图 2 利⽤ generate_imgs.py 得到数字 3 图像 1. 设计流程 图 4 整体设计流程 图 5 ⽣成的图像经过的处理 1.1 新建⼀个空⽩图像 img_50,尺⼨⼤⼩为 50*50 1 img_50_ blank = Image.new(RGB, (50, 50), ( 55, 55, 55))      想要的 30*30 的图像,为什么我这⾥要先⽣成 50*50 的空⽩图像?   因为图像背景 (50*50像素的画布)初始化的时候设置为 ⽩⾊ (颜⾊数组 (255, 255, 255)),⽽背景⾊之外的其实是⿊⾊ ;   之后需要进⾏旋转处理,如果直接新建 30*30 像素的画布,旋转之后边上会出现⿊边,如 图6 所⽰ ;   所以我新建了⼀个 50*50,然后旋转之后从中间裁出来⼀个 30*30 的图像出来 ;     图 6 直接⽤ 30*30 像素的画布写字旋转 (会出现⿊边) 1.2 利⽤ PIL 在图像上写⽂字 text   利⽤ PIL 的 ImageDraw,创建画笔,然后利⽤ draw.text 在指定位置写字;   xy=(18,11) 是从图像左上⾓开始的坐标,取值 ⾃⼰根据需求调整 ; 1 # 创建画笔 draw = ImageDraw.Draw(img_50_ blank) 3 4 # ⽣成随机数1-9 5 num = str(random.randint(1, 9)) 6 7 # 设置字体,这⾥选取字体⼤⼩ 5 8 font = ImageFont.truetype(simsun.ttc, 0) 9 10 # xy是左上⾓开始的位置坐标 11 draw.text(xy=(18, 11), font=font, text=num, fill=(0, 0, 0)) 1.3 将图像随机旋转⼀定⾓度   利⽤ rotate(angel) 进⾏旋转图像,angel 取的是度数,这⾥让它随机旋转 - 10 到 + 10 度 : 1 # 随机旋转-10-10⾓度 random_angle = random.randint(-10, 10) 3 img_50_ rotated = img_50_ blank.rotate(random_angle) 1.4 图像扭曲   这⾥是⽣成 “⼿写体”数字的 核⼼ 步骤,⼀个正常的图像经过扭曲之后就可以得到想要的验证码了: 1 # 图形扭曲参数 params = [1 - float(random.randint(1, )) / 100, 3 0, 4 0, 5 0, 6 1 - float(random.r

文档评论(0)

南江月 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档