深度学习之卷积神经网络(CNN)的应用-验证码的生成与识别
验证码的生成与识别 本文系作者原创,转载请注明出处: https://www.cnblogs.com/further-further-further/p/10755361.html 目录 1.验证码的制作 2.卷积神经网络结构 3.训练参数保存与使用 4.注意事项 5.代码实现(python3.5) 6.运行结果以及分析 1.验证码的制作 深度学习一个必要的前提就是需要大量的训练样本数据,毫不夸张的说,训练样本数据的多少直接决定模型的预测准确度 。 而本节的训练样本数据(验证码:字母和数字组成)通过调用Image模块(图像处理库)中相关函数生成。 安装:pip install pillow 验证码生成步骤:随机在字母和数字中选择4个字符 -> 创建背景图片 -> 添加噪声 -> 字符扭曲 具体样本如下所示: 对于上图的验证码,如果用传统方式破解,其步骤一般是: 图片分割:采用分割算法分割出每一个字符; 字符识别:由分割出的每个字符图片,根据OCR光学字符识别出每个字符图片对应的字符; 难点在于:对于图片字符有黏连(2个,3个,或者4个全部黏连),图片是无法完全分割出来的,也就是说,即使分割出来了,字符识别基本上都是错误的,特别对于人眼都无法分辨的验证码,用传统的这种破解方法,成功率基本上是极其低的。 黏连验证码 人眼几乎无法分辨验证码 第一张是 0ymo or 0ynb ?第二张是