一种滑动拼图类验证码识别方法

文档序号:190845 发布日期:2021-11-02 浏览:26次 >En<

阅读说明:本技术 一种滑动拼图类验证码识别方法 (Method for identifying sliding puzzle verification codes ) 是由 易鑫 于 2020-05-01 设计创作,主要内容包括:本专利涉及验证码识别方法,主要为了解决现有技术的识别效率、准确率、成功率较低且未利用到左侧滑块坐标的问题。本发明首先获取验证码图像,其次根据预定义特征定位滑块,然后通过颜色特征、渐变特征、形状特征中的一项或多项匹配、定位缺口,再由数据随机分割、重组、按某种双随机规则对数据值增加或删减来模拟人手拖动轨迹完成验证。相比基于普通机器学习的方法,本发明不需要训练集、测试集,也不需要进行初始训练,减少了资源消耗,降低了滑动拼图类验证码识别的复杂性,具有较好的识别效果。(The patent relates to a verification code identification method, and mainly aims to solve the problems that the identification efficiency, accuracy and success rate are low and the left-side sliding block coordinate is not utilized in the prior art. The invention firstly obtains the verification code image, secondly positions the sliding block according to the predefined characteristic, then matches and positions the gap through one or more of the color characteristic, the gradient characteristic and the shape characteristic, and then simulates the hand dragging track to finish the verification by randomly dividing and recombining the data and increasing or deleting the data value according to a certain double random rule. Compared with the method based on common machine learning, the method does not need a training set and a testing set, does not need initial training, reduces resource consumption, reduces the complexity of identifying the sliding jigsaw type identifying code, and has better identification effect.)

一种滑动拼图类验证码识别方法

技术领域

本发明涉及通信技术领域,更具体的涉及验证码识别方法。

背景技术

目前互联网应用中,滑动拼图类验证码已广泛应用。滑动拼图类验证码包含底图、滑块两个部分,通过将滑块与底图中的缺口(下称“目标区域”)准确拼合,通过拼合正误、拖动轨迹、浏览数据等多维度判断。但需要长时间大量使用验证码的公司员工十分疲劳。

目前的滑动拼图类验证码识别方法中主要存在识别偏移、无法模拟真人拖动且未利用到左侧滑块坐标的问题。因为底图中存在形状、颜色都类似目标区域的干扰,使得现有识别技术很容易出现错判。

综上,如何改变现有技术中滑动拼图类验证码识别方法,以提高滑动拼图类验证码识别的准确率和成功率,辅助用户更便捷的使用计算机,促进验证码行业健康发展,促使验证码提供商简化验证流程、优化验证方式是本领域技术人员需要考虑的问题。

发明内容

本发明提供了一种滑动拼图类验证码识别方法,本发明可以让用户输入完密码,即时判断即可登录,解决了现有技术的识别效率、准确率、成功率较低的问题。

本发明提供一种滑动拼图类验证码识别方法,其特征在于:

步骤1,获取待测验证码图像。

步骤1.1,根据预定义的颜色、形状进行匹配、定位,然后抛弃非验证码区域的冗余部分。

步骤2,在图像偏左侧逐行或跳行扫描,通过颜色、形状、四周阴影渐变中的一项或多项判断该行或附近区域的可能的滑块的中心点坐标值,并剔除白色边框、底部选项条等冗余部分。

步骤2.1,逐行扫描判断该行是否存在连续的黄色像素点(此处黄色为滑块的颜色特征)。

步骤2.2,判断找到的滑块是否存在n个凹陷或突起(2≤n≤4)。

步骤2.3,判断图案四周阴影渐变。

步骤2.4,剔除图像下方拖动条、底部选项条、四周白色边框,仅保留y轴值与判定值相近的像素点。

步骤3,在步骤2得到可能的坐标或在附加步骤1得到确定的坐标后,在y轴值相近或相等的像素点区域的偏右侧通过颜色特征、渐变特征、形状特征中的一项或多项进行匹配、定位可能的目标区域的中心点坐标,并通过特征吻合度计算概率。

步骤3.1,根据中间浅四周深,整体颜色比周围区域深,存在n个凹陷或突起(2≤n≤4)的目标区域特征进行匹配和定位。

步骤3.2,计算特征吻合度从而得到概率。

步骤4,从步骤3得到的数据中选取概率最大的一个点的坐标值。

步骤5,通过对人手拖动轨迹数据按照某种规则进行分割、重组,根据要求拖动距离按照某种双随机规则对数据值删减或增加来模拟人手拖动轨迹,然后控制光标尝试验证。

步骤5.1,通过对人手拖动轨迹数据按照某种规则进行分割、重组。

步骤5.2,按照比例为每个数值区间划分概率,执行第一重随机;在该数值区域内执行第二重随机。

步骤5.3,根据要求拖动距离(g(x)=x目标区域中心点-x滑块中心点),重复执行步骤5.2,对步骤5.1得到的轨迹数据值多次的调整、每次略微删减或增加,最后达到要求拖动距离,得到“时间-光标坐标”的一组数据。

步骤5.4,根据步骤5.3得到的轨迹数据控制光标拖动滑块尝试验证。

附图说明

图1为本发明:一种滑动拼图类验证码识别方法的流程图(未包含附加步骤1、1.1、1.2)。

具体实施方式

为了更好的说明本发明的目的和优点,下面对本发明方法的实施方式做进一步详细说明。

上述步骤已经可以达到很好的识别效果,但为了能够达到更加完美的效果,添加如下附加步骤:

附加步骤1,若步骤2得到得特征吻合度值的最大值与次大值相近,则:控制光标略微拖动滑块,再次获取屏幕图像,对比两张图片,根据前后图像变化得到滑块中心点y轴坐标值。

附加步骤1.1,控制光标拖动滑块,移动合适的距离后再次获取待测验证码图像,此时不释放滑块。

附加步骤1.2,两张待测验证码图像每个像素块的RGB颜色数值做差,根据f(x)=(ymax+ymin)/2 (此处ymin和ymax指的是被看作四边形的滑块的四个顶点的y轴最大值与最小值)得到滑块中心点的y轴坐标值。

附加步骤2,判断识别结果是否正确。

附加步骤2.1,尝试验证后通过判断颜色(分为红、黄、绿三种颜色)来判断结果。

附加步骤3,若识别结果为正确或者通过其他途径获得正确答案,则自动对步骤2和步骤3中所述的颜色、阴影、形状等预设特征进行优化。

附加步骤1、1.1、1.2可用于步骤2.3和步骤2.4之间,附加步骤2、2.1可用于步骤5之后,附加步骤3可用于附加步骤2以后。

1)所需待测验证码图像均从硬件接口或操作系统接口获取,与电脑型号无关。

2)在准确地定位到滑块后,除y轴值相近的像素点区域外,其余区域对后续识别目标区域没有帮助,应当剔除。

3)本专利所述的“剔除冗余部分”指的是不参与后续计算。

4)因执行验证时需要“时间-光标坐标”的数据,所以本专利中所有提及的“坐标”都应当是相对于屏幕边缘的相对坐标。

5)滑块的拖动分两种方式:拖动滑块本身和拖动滑块下方的拖动条。附加步骤1、1.1所述的“拖动滑块”为后者。

有益效果

相比基于普通机器学习的方法,本发明不需要训练集、测试集,也不需要进行初始训练,减少了资源消耗,降低了滑动拼图类验证码识别的复杂性。

以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

6页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种单点登录跳转链接的安全保护方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类