基于模板匹配的滑动拼图式验证码自动识别方法及系统与流程

文档序号:33812841发布日期:2023-04-19 14:22阅读:188来源:国知局
基于模板匹配的滑动拼图式验证码自动识别方法及系统与流程

本发明属于互联网技术,具体涉及一种基于模板匹配的滑动拼图式验证码自动识别方法及系统。


背景技术:

1、滑动拼图式验证码作为新一代交互式验证码,安全级别高,用户体验好,已经成为一种主流的验证方式,广泛应用于网络爬虫对验证码的暴力破解以及自动测试等方面。

2、“一种基于滑动验证的验证码识别输入方法及系统”中,通过selenium+phantomjs的截图的功能获取原始完整图片,并自动识别并控制鼠标光标点中滑块,等待设置时间阈值后,截图获取含有滑块图片和缺口背景图片,通过两者的比较,获取到鼠标要位移的距离。该方法适用于起始状态并不显示拼图和缺口,单击滑块一定时间后会出现拼图和缺口的场景。

3、“一种滑块验证码的滑块缺口定位及拖动轨迹生成方法”中,基于深度学习的目标检测模型,根据滑块缺口背景图片计算滑块缺口中心位置坐标,并标注矩形标注框,进行有监督的目标检测模型训练。该方法需要大量的人工标注成本。


技术实现思路

1、针对现有技术中存在的问题,本发明的目的在于提供一种基于模板匹配的滑块验证码自动识别方法及系统。

2、本文所述滑块验证码自动识别方法,其步骤包括:

3、1)通过配置网页浏览器启动选项、加载selenium框架等进行数据获取;

4、2)通过滑块识别算法,定位滑块图;

5、3)通过滑块缺口识别算法定位缺口区域;

6、4)通过模板匹配,获取滑块缺口坐标定位;

7、5)模拟人工操作,生成滑动轨迹。

8、其中,

9、1、数据获取

10、主要包括一个符合缺口的拼图(以下简称滑块图片)和一个包含滑块缺口背景图片获取。

11、2、滑块识别定位

12、主要包括定位滑块图片高度及获取滑块图片的长、宽。

13、3、滑块缺口区域识别

14、根据滑块长、宽及所在的起始高度,划定滑块缺口可能出现的区域。

15、4、滑块缺口坐标定位

16、结合模板匹配算法以及大数据中心积累的历史图片精准定位缺口位置,即滑块缺口在背景图片中的坐标。

17、5、滑动轨迹生成

18、使用pyautogui模拟人操作滑块,通过鼠标事件控制鼠标点击、拖拽、释放滑块到缺口位置,实现轨迹生成。

19、一种基于模板匹配的滑块验证码自动识别系统,其特征在于,包括数据获取模块、滑块图提取模块、滑块缺口区域定位模块、滑块缺口坐标定位模块和轨迹生成模块;

20、所述数据获取模块,用于获取目标页面中的滑块图片和包含滑块缺口的背景图片;

21、所述滑块提取模块,用于从所述滑块图片中定位并裁剪出滑块图;

22、所述滑块缺口区域定位模块,用于根据所述滑块图从所述背景图片中定位出所述滑块缺口所在区域;

23、所述滑块缺口坐标定位模块,用于根据所述滑块图和所述滑块缺口所在区域,获取所述滑块缺口在所述背景图片中的坐标定位;

24、所述轨迹生成模块,用于根据所述滑块缺口的坐标和所述滑块图的初始位置,生成滑动轨迹完成滑块验证。

25、进一步的,所述滑块提取模块从所述滑块图片中定位并裁剪出滑块图的方法为:21)将所述滑块图片中的rgb图像区域转换为rgba图像,然后将处理后的所述滑块图像保存成png图片;22)利用png图片中的像素特征,对png图片的水平和垂直方向分别进行计算,通过水平方向像素和为0来定位滑块的起始高度和宽度,并通过垂直方向像素和为0来定位滑块的长度;然后通过定位长、宽及滑块在所述滑块图片中的起始高度,从所述滑块图片中裁剪出滑块。

26、进一步的,所述滑块缺口区域定位模块从所述背景图片中定位出所述滑块缺口所在区域的方法为:根据所述背景图片以及滑块高度及坐标,定位滑块缺口所在区域。

27、进一步的,所述滑块缺口坐标定位模块获取所述滑块缺口在所述背景图片中的坐标定位的方法为:对所述滑块图进行灰度处理得到图像imagea,将滑块缺口所在区域记为图像imageb;将图像imageb作为输入图像i、将图像imagea作为模板图像t,利用模板匹配的方法将模板图像t在图像i上滑动,逐个遍历所有像素,以查找与其最匹配的部分;然后根据匹配结果确定出所述滑块缺口在所述背景图片中的坐标。

28、进一步的,所述滑块缺口坐标定位模块计算模板图像t覆盖在图像i上的每个位置时的度量值,把度量值保存到结果图像矩阵r中;根据结果图像矩阵r中的最大数值并结合滑块图的长度确定出所述滑块缺口的坐标。

29、进一步的,如果所述匹配结果小于设定阈值时,将图像imageb与大数据中心存储的图形验证数据-完整背景图进行相似度匹配,优先筛选出相似度(相同像素点比例)最大的完整背景图片,将所筛选出的完整背景图片与滑块缺口的背景图片对比,根据像素点不同的位置坐标确定出所述滑块缺口在所述背景图片中的坐标。

30、与现有技术相比,本发明的积极效果为:

31、与已有技术相比,本技术主要针对将缺口融入背景图,且无法在网页源代码中获取完整图片和缺口位置的场景,即获取单独的滑块图片以及包含缺口的背景图片。该类滑动拼图验证码算是滑块验证码的进阶版本,较以往滑块拼图验证码,在验证码的模拟验证方面增加了难度。另,较深度学习的目标检测等有监督学习算法,可有效减少专家人工标注成本,并有效缩小搜索空间,实现在较小范围内、较短时间内识别到滑块缺口位置,更加准确、高效地进行滑块验证码自动化识别。在日均1万条验证登录业务中,单次验证通过率高达90%,极大提高了真实用户的验证效率和体验。



技术特征:

1.一种基于模板匹配的滑动拼图式验证码自动识别方法,其步骤包括:

2.根据权利要求1所述的方法,其特征在于,从所述滑块图片中定位并裁剪出滑块图的方法为:21)将所述滑块图片中的rgb图像区域转换为rgba图像,然后将处理后的所述滑块图像保存成png图片;22)利用png图片中的像素特征,对png图片的水平和垂直方向分别进行计算,通过水平方向像素和为0来定位滑块的起始高度和宽度,并通过垂直方向像素和为0来定位滑块的长度;然后通过定位滑块长、宽及滑块在所述滑块图片中的起始高度,从所述滑块图片中裁剪出滑块。

3.根据权利要求2所述的方法,其特征在于,从所述背景图片中定位出所述滑块缺口所在区域的方法为:根据所述背景图片以及滑块高度及坐标,定位滑块缺口所在区域。

4.根据权利要求1或2或3所述的方法,其特征在于,获取所述滑块缺口在所述背景图片中的坐标定位的方法为:对所述滑块图进行灰度处理得到图像imagea,将滑块缺口所在区域记为图像imageb;将图像imageb作为输入图像i、将图像imagea作为模板图像t,利用模板匹配的方法将模板图像t在图像i上滑动,逐个遍历所有像素,以查找与其最匹配的部分;然后根据匹配结果确定出所述滑块缺口在所述背景图片中的坐标。

5.根据权利要求4所述的方法,其特征在于,计算模板图像t覆盖在图像i上的每个位置时的度量值,把度量值保存到结果图像矩阵r中;根据结果图像矩阵r中的最大数值并结合滑块图的长度确定出所述滑块缺口的坐标。

6.根据权利要求4所述的方法,其特征在于,如果所述匹配结果小于设定阈值时,将图像imageb与大数据中心存储的图形验证数据-完整背景图进行相似度匹配,将相似度最大的完整背景图片与滑块缺口背景图片对比,根据像素点不同的位置坐标确定出所述滑块缺口在所述背景图片中的坐标。

7.一种基于模板匹配的滑块验证码自动识别系统,其特征在于,包括数据获取模块、滑块图提取模块、滑块缺口区域定位模块、滑块缺口坐标定位模块和轨迹生成模块;

8.根据权利要求7所述的系统,其特征在于,所述滑块提取模块从所述滑块图片中定位并裁剪出滑块图的方法为:21)将所述滑块图片中的rgb图像区域转换为rgba图像,然后将处理后的所述滑块图像保存成png图片;22)利用png图片中的像素特征,对png图片的水平和垂直方向分别进行计算,通过水平方向像素和为0来定位滑块的起始高度和宽度,并通过垂直方向像素和为0来定位滑块的长度;然后通过定位滑块长、宽及滑块在所述滑块图片中的起始高度,从所述滑块图片中裁剪出滑块。

9.根据权利要求8所述的系统,其特征在于,所述滑块缺口区域定位模块从所述背景图片中定位出所述滑块缺口所在区域的方法为:根据所述背景图片以及滑块高度及坐标,定位滑块缺口所在区域;所述滑块缺口坐标定位模块计算模板图像t覆盖在图像i上的每个位置时的度量值,把度量值保存到结果图像矩阵r中;根据结果图像矩阵r中的最大数值并结合滑块图的长度确定出所述滑块缺口的坐标。

10.根据权利要求7或8或9所述的系统,其特征在于,所述滑块缺口坐标定位模块获取所述滑块缺口的坐标定位的方法为:对所述滑块图进行灰度处理得到图像imagea,将滑块缺口所在区域记为图像imageb;将图像imageb作为输入图像i、将图像imagea作为模板图像t,利用模板匹配的方法将模板图像t在图像i上滑动,逐个遍历所有像素,以查找与其最匹配的部分;然后根据匹配结果确定出所述滑块缺口在所述背景图片中的坐标;如果所述匹配结果小于设定阈值时,将图像imageb与大数据中心存储的图形验证数据-完整背景图进行相似度匹配,将相似度最大的完整背景图片与滑块缺口背景图片对比,根据像素点不同的位置坐标确定出所述滑块缺口在所述背景图片中的坐标。


技术总结
本发明公开了一种基于模板匹配的滑动拼图式验证码自动识别方法及系统。本方法步骤包括:1)获取目标页面中的滑块图片和包含滑块缺口的背景图片;2)从所述滑块图片中定位并裁剪出滑块图;3)根据所述滑块图从所述背景图片中定位出所述滑块缺口所在区域;4)根据所述滑块图和所述滑块缺口所在区域,获取所述滑块缺口在所述背景图片中的坐标定位;5)根据所述滑块缺口的坐标和所述滑块图的初始位置,生成滑动轨迹完成滑块验证。本发明极大提高了真实用户的验证效率和体验。

技术研发人员:陈艺方,张钧涛,张猛
受保护的技术使用者:北京益商慧评网络科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1