注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路
本文的验证码网址如下,使用base64解码获得
最近,某书的旋转验证码又更新了,在我之前的文章有讲过利用梯度幅度计算图像边缘变化,然后计算出最合适的角度,如果使用我的代码之后那么这种方法对于小红书显然失效了,具体原因我们来分析一下,先看一下缺口图和背景图。此文仅介绍工具的使用,在后续的文章中将会介绍以各种方式实现验证码的识别。
其实我之前的方法并非完全失效,在测试的时候可以发现,对于古风图不适用了,其余图形还是正常,归根原因在于古风的缺口图,不仅处理了亮度和对比度的变化,本身还存在比较细致的线条轮廓,而之前的方法,通常适用于大幅度的像素变化,对于这种细致的变化不敏感,那么针对这种验证码当然也是看家本领,直接图像增强啥的全怼上去,看有没有效就完事了,或者采用训练的方法,当然,在此之前,还是要先标注一些数据集,为此,我使用python的pyqt5开发了一款标注工具,这款工具如果需要直接找我免费获取就行,当然,针对你的数据集可能还要改动一些代码,毕竟我本人开发,软件不会做的非常细致,工具界面如下
实现了几个简单的小功能,加载数据集目录,切换下一张,然后拖动角度进行模拟还原
当滑动完成之后,会以当前的角度在本地生成一张正确的图片,经过批量标注后,就能得到所有图片正确的0度角,如下。
代码也很简单,就是简单的图像旋转处理和一些控件的处理,部分代码如下: