当前位置: 首页 > 专利查询>河海大学专利>正文

一种利用人眼视觉补偿原理的图片验证码生成方法技术

技术编号:11520585 阅读:145 留言:0更新日期:2015-05-29 12:19
本发明专利技术公开了一种利用人眼视觉补偿原理的图片验证码生成方法,包括以下步骤:1)生成一个随机长度的随机字符串,其长度控制在某一设定范围之内;2)选用一种不等宽字体,将所述随机字符串以非背景色写入图片画布;3)以背景色再次将所述随机字符串写入图片画布,各个字符的字体形态与步骤2)中的字体形态完全相同,在图片画布中的位置向左上角移动一个像素;4)对步骤3)所生成的验证码图片进行笔划随机擦除处理,擦除比例为设定值。本发明专利技术生成的图片验证码,人类可以利用人眼视觉补偿原理将其还原成立体文字,从而轻松识别;验证码文字或字符的笔划非常纤细且不连续,残缺不全,从而导致机器的识别困难。

【技术实现步骤摘要】
一种利用人眼视觉补偿原理的图片验证码生成方法
本专利技术公布了一种利用人眼视觉补偿原理的图片验证码生成方法,人类可以利用人眼视觉补偿原理轻松识别,而机器则难以还原,属于计算机信息

技术介绍
随着互联网的迅猛发展,互联网上的垃圾信息也泛滥成灾,特别是机器人制造的垃圾信息最为严重,所以CAPTCHA技术应运而生。CAPTCHA是全自动区分计算机和人类的图灵测试的英文缩写,其简称为验证码,其中图片验证码应用最为广泛。图片验证码是利用计算机难以有效识别某些图片文字而人类可以识别的技术,来区分机器和人类。但是最近几年,图片验证码识别技术的发展也非常快速,绝大多数的简单验证码识别率都非常高,甚至很多都达到100%的识别率,从而导致这些验证码成了摆设,除了给真正的人类带来麻烦以外,没产生任何阻止机器人滥发垃圾信息的步伐。另一方面,以Google为代表,通过扭曲变形技术产生的验证码,虽然达到了机器识别率很低的效果,但是人类也非常难以识别,给图片验证码的应用带来不利影响。
技术实现思路
本专利技术所要解决的技术问题是提供一种图片验证码,使人眼可以轻松识别,机器识别率低,从而实现有效对机器和人类进行甄别。本专利技术就是为解决这一矛盾而产生的。本专利技术认为,可以利用人类的某些优势而机器不具备这类优势,如人眼视觉补偿原理(俗称脑补),来生成这样的一类图片验证码。为解决上述技术问题,本专利技术提供一种利用人眼视觉补偿原理的图片验证码生成方法,其特征在于,包括以下步骤:1)生成一个随机长度的随机字符串,其长度控制在某一设定范围之内;在所述步骤1)中,字符不限于英文和数字,如果是英文数字,要排除人类难以识别的字符,如Iil1Oo0Jjr等;2)选用一种不等宽字体,将所述随机字符串以非背景色写入图片画布;在所述步骤2)中,优先选用所述字体的粗体斜体,字体大小控制在某一随机范围内,各个字符的大小相同或是不同;3)以背景色再次将所述随机字符串写入图片画布,各个字符的字体形态与步骤2)中的字体形态完全相同,所述随机字符串在图片画布中的位置向左上角移动一个像素;本步骤的目的是擦除验证码文字或字符的绝大部分笔划,留下的笔划很少,但是人类可以利用人眼视觉补偿原理将其还原成立体文字;4)对步骤3)所生成的验证码图片进行笔划随机擦除处理,擦除比例为经验值,擦除比例大致是1/5,以白背景黑字来说,就是剩下的立体文字中,去掉大约1/5的黑点.根据统计,未擦除之前,黑点占文字所占空间(注意不是全部画布)大约5%以下,擦除之后一般在4%以下,擦除后的笔划变少,连续性变差,散点变多,但是人类利用人眼视觉补偿原理仍然能够识别;5)对验证码图片增加随机干扰噪点,增加的密度为设定值(增加比例为1%至3%),增加的噪点与原验证码文字中的散点笔划难以被机器有效区分,但是对人眼可以识别;6)对验证码图片增加随机干扰线条,随机线为直线、曲线、连续线条或断点线条,增加的线条个数以不完全覆盖验证码内容为限,目的是使机器难以区分干扰线条和验证码文字笔划,但是又不致对人类构成识别困难;7)对验证码图片增加干扰文字。干扰文字可以为广告语,从而产生商业收益,也可以是有意义的干扰问题,其干扰问题构成对验证码内容的不同处理,如要求使用者只输入验证码内容的一部分等;干扰文字一方面造成机器对图片的识别困难,另一方面造成机器对图片的理解困难,而不构成人类的理解和识别困难。本专利技术所达到的有益效果:本专利技术公开了一种利用人眼视觉补偿原理的图片验证码的生成方法,本专利技术生成的图片验证码,人类可以利用人眼视觉补偿原理将其还原成立体文字,从而轻松识别。上述验证码文字或字符的笔划非常纤细且不连续,残缺不全,从而导致机器的识别困难。本专利技术更进一步的对验证码图片增加干扰因素,如增加随机噪点,增加随机干扰直线和/或曲线,增加随机干扰文字如广告语,增加随机干扰问题如要求使用者输入验证码内容的一部分等。上述干扰问题可以以某种格式随机组合生成,可以有效对机器和人类进行甄别。附图说明图1是本专利技术的图片验证码示例图;图2是能利用人类人眼视觉补偿原理还原的立体文字图片验证码示例图;图3是图2的验证码经过随机笔划擦除后的图片示例图;图4是图3的验证码增加了随机噪点后的图片示例图;图5是图4的验证码增加了随机干扰线条后的图片示例图;图6是图片验证码的生成过程流程图。具体实施方式下面结合附图对本专利技术的图片验证码生成过程进一步详细说明。本专利技术的利用人眼视觉补偿原理的图片验证码生成方法,包括以下步骤:步骤一:生成一个随机长度的随机字符串,其长度控制在某一设定范围之内,其中字符不限于英文数字;如果是英文数字,要排除人类难以识别的字符;步骤二:选用一种不等宽字体,将所述随机字符串以非背景色写入图片画布;优先选用该字体的粗体斜体,字体大小控制在某一随机范围内;各个字符的大小可以相同或不同;步骤三:以背景色再次将上述随机字符串写入图片画布,各个字符的字体形态必须与步骤二的完全相同,其在图片画布中的位置必须向左上角移动一个像素;本步骤的目的是擦除验证码文字或字符的绝大部分笔划,留下的笔划很少(通常占文字所占空间的5%左右),但是人类可以利用人眼视觉补偿原理将其还原成立体文字,如附图2所示;步骤四:对步骤三所生成的验证码图片进行笔划随机擦除处理,其擦除比例为经验值,通常为1/5左右,将剩下的笔划控制在文字所占空间的4%以下,擦除后的笔划更少,连续性更差,散点更多,但是人类利用人眼视觉补偿原理仍然可以识别,如附图3所示;步骤五:对验证码图片增加随机干扰噪点,增加的密度为经验值,因为经过处理的验证码文字,其笔划连续性不强,存在很多散点,从而与噪点之间的界限模糊,增加的噪点与原先验证码文字中的散点笔划难以被机器有效区分,但是对人类识别不构成困难,如附图4所示;步骤六:对验证码图片增加随机干扰线条,随机线条可以是直线,也可以是曲线,可以是连续线条,也可以是断点线条,要求其特征尽量向验证码文字或字符的剩余笔划靠拢,从而给机器识别增加更多的干扰因素,增加的线条个数为经验值,目的是让机器难以区分干扰线条和验证码文字笔划,但是又不致对人类构成识别困难(目前认为几条穿过验证码文字的直线和贝塞尔曲线的效果就很好了),如附图5所示;步骤七:对验证码图片增加干扰文字,对于上述干扰文字,其生成方式多种多样,可以在系统后台进行定制。将干扰文字分为二类,第一类为纯粹的干扰文字,可以是广告语,可以增加商业收益,也可以是其他干扰文字;第二类为有意义的干扰问题,比如要求使用者只输入验证码文字中的一部分。对上述干扰问题增加前置条件,还可以给机器识别设置陷阱(捕获机器人),如”如果你是人类,请输入第几到第几个字符”和”如果你是机器,请忽略前2个字符”等等,其问题可以自由组合,人类可以轻松理解并回答,而机器则非常难以理解.可以建立一个问题模型,用软件随机组合出问题,从而将机器识别的难度提高到类似或近似人工智能的难度。干扰问题生成过程包括以下步骤:步骤一:建立干扰问题各个部件的模型,如干扰问题包括前置条件,对验证码内容的取舍动作(包括从第几个到第几个字符,或者从第几个开始要多少长度的字符,或者忽略或舍去某个位置某个长度的字符等),对动作施加的限制等;步骤二:建立各个部件的词库,如限制条件前本文档来自技高网...
一种利用人眼视觉补偿原理的图片验证码生成方法

【技术保护点】
一种利用人眼视觉补偿原理的图片验证码生成方法,其特征在于,包括以下步骤:1)生成一个随机长度的随机字符串, 其长度控制在某一设定范围之内;2)选用一种不等宽字体, 将所述随机字符串以非背景色写入图片画布;3)以背景色再次将所述随机字符串写入图片画布,各个字符的字体形态与步骤2)中的字体形态完全相同,在图片画布中的位置向左上角移动一个像素;4)对步骤3)所生成的验证码图片进行笔划随机擦除处理,擦除比例为设定值,擦除后的笔划变少,连续性变差,散点变多,但是人类利用人眼视觉补偿原理仍然能够识别;5)对验证码图片增加随机干扰噪点,增加的密度为设定值, 增加的噪点与原验证码文字中的散点笔划难以被机器有效区分,但是对人眼可以识别;6)对验证码图片增加随机干扰线条,目的是使机器难以区分干扰线条和验证码文字笔划, 但是又不致对人类构成识别困难;7)对验证码图片增加干扰文字,干扰文字一方面造成机器对图片的识别困难,另一方面造成机器对图片的理解困难,而不构成人类的理解和识别困难。

【技术特征摘要】
1.一种利用人眼视觉补偿原理的图片验证码生成方法,其特征在于,包括以下步骤:1)生成一个随机长度的随机字符串,其长度控制在某一设定范围之内;2)选用一种不等宽字体,将所述随机字符串以非背景色写入图片画布;3)以背景色再次将所述随机字符串写入图片画布,各个字符的字体形态与步骤2)中的字体形态完全相同,在图片画布中的位置向左上角移动一个像素;4)对步骤3)所生成的验证码图片进行笔划随机擦除处理,擦除比例为设定值,擦除后的笔划变少,连续性变差,散点变多,但是人类利用人眼视觉补偿原理仍然能够识别;5)对验证码图片增加随机干扰噪点,增加的密度为设定值,增加的噪点与原验证码文字中的散点笔划难以被机器有效区分,但是对人眼可以识别;6)对验证码图片增加随机干扰线条,目的是使机器难以区分干扰线条和验证码文字笔划,但是又不致对人类构成识别困难;7)对验证码图片增加干扰文字,干扰文字一方面造成机器对图片的识别困难,另一方面造成机器对图片的理解困难,而不构成人类的理解和识别困难,所述干扰文字包括广告语和干扰问题,干扰问题生成过程包括以下...

【专利技术属性】
技术研发人员:许军才张卫东任青文沈振中
申请(专利权)人:河海大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1