项目介绍

  • 前言
  • 方法概述



前言

之前也做了滑块验证码的识别,使用的是opencv里面的模板匹配的方法(具体的见我上一篇博客)。但是因为要爬的拼夕夕网站反爬手段很强,拿不到干净的滑块图,只能通过裁剪图片,但是这样裁剪下来的滑块图就包含了很多滑块以外的信息,将会对模板匹配产生强烈的干扰,导致匹配错误。因此针对这个问题实现一种新的改进方法,识别效果大大提升。下面对这个方法进行一下简要概述。


方法概述

之前的方法中识别错误的原因主要是滑块和缺口的位置信息容易被背景所干扰,如果能够提取到滑块框和缺口框将能极大提高识别率,所以提出的改进方法主要是通过深度学习的方法进行滑块检测和缺口检测,这里主要使用的模型是yolov5l。当滑块和缺口都检测出来后我们还是需要进行模板匹配,因为缺口不止一个,缺口的形状存在差异,所以我们还是使用模板匹配的方法来识别出目标缺口。当滑块和目标缺口都识别完之后,就能够计算出需要滑动的距离。此外为了更方便的调用我们的识别模型,需要对模型进行部署,不然每次使用都需要加载一次模型识别速度将会下降,使用起来也不方便因此后面使用了flask对我们的模型进行了部署。部署完成后只需要发送一个带滑块验证码图片的request请求就可以快速得到需要滑动的距离。这就是改进方法的主要思路,后面的博客也将详细介绍每一部分实现的具体步骤和代码。