1、前言验证码(CAPTCHA),也称为全自动区分计算机和人类的图灵测试,是目前大多数网站所使用的通行方式。
一般验证码测试是判断访问网站的用户输入一张扭曲变形(夹杂噪声)的图片中所蕴藏信息(数字、字母或公式等)的正确性。
这种被人们称为反向图灵测试的CAPTCHA中对图像进行复杂处理,是为了避免光学字符识别(简称为OCR)一类电脑程序进行自动识别所包含的信息而破坏网站的安全,在医疗、军事、教育、金融等较敏感领域有较为广泛的应用,其核心即验证码的识别。
那么,研究如何识别扭曲变形的验证码变得十分必要,由此便可以反向加固验证码的健壮性,不易被某一程序通过暴力破解方式侵入网站。
当前市场上所用到的验证码方法主要有图形验证码、滑动验证码、点触验证码等,而本论文主要针对图片验证码做进一步研究。
2、验证码图像识别2.1图像预处理2.1.1验证码的获取通过调研统计可以得出,目前常见的图形验证码主要是,内容以字母和数字随机结合而成,颜色以白底彩字为主,干扰因素主要是由若干不同大小的实心圆和线段组成。
由此给出以下两种验证码。
使用手动编写验证码,通过导入python的第三方pillow库,使用其中Image、ImageDraw、ImageFont三个函数以及random函数作为生成工具,设置图形大小(长400、宽100)、颜色(根据RGB标准指标设置颜色)、内容(从0~9、A~Z、a~z中随机选取的四个字符)、噪声(半径为0~1的100个实心圆,宽度为0~2的若干实心线段),并最终以随机生成的字符命名图片存储在picture文件夹中。
采用captcha库生成的验证码,是利用captcha库来随机生成验证码,存放在captcharpicture文件夹中,主要特点是验证码中的字符有扭曲变化,整个图片的颜色是随机生成的单一颜色。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。