开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 19270|回复: 49
收起左侧

[技术专题] 滑动验证码识别,正确率能在98%以上

[复制链接]
发表于 2020-4-11 19:57:27 | 显示全部楼层 |阅读模式   广西壮族自治区贵港市
本帖最后由 eaglesoftware 于 2020-4-11 20:37 编辑



记录某滑动验证码识别思路就是:
先确定滑动的距离,滑动距离 = 终点坐标 - 起点坐标
1、首先找到终点坐标

通过观察发现,终点位置有一个像素的边缘,边缘RGB值有一定规律,通过这个规律扫描很快能确定hk终点的x坐标。


  
子程序名返回值类型公开备 注
验证码_识别整数型 返回X坐标
参数名类 型参考可空数组备 注
BMP图片xx字节集
变量名类 型静态数组备 注
位图位图 
图_宽度整数型 
图_高度整数型 
x坐标整数型 
y坐标整数型 
高度扫描范围整数型 
高度连续点数量整数型 
高度连续点数量最大值整数型 
高度连续点数量最大值_y坐标整数型 
RGB字节集 
i整数型 
j整数型 
hk右边_x坐标整数型 
hk左边_x坐标整数型 
hk左边_x坐标疑似整数型 
图_宽度 = 图片_取宽度 (BMP图片xx)
图_高度 = 图片_取高度 (BMP图片xx)
如果 (位图.创建 (图_宽度, 图_高度, 24, ) 位图.载入xx (BMP图片xx))
' hk高度136,扫描范围为图_高度 - 136
高度扫描范围 = 图_高度 - 136
' hk位置在距离右边250像素内,所以只需扫描右边200像素即可
计次循环首 (250, i)
' 从右边开始扫描
x坐标 = 图_宽度 - i
' 复位连续点统计
高度连续点数量 = 0
高度连续点数量最大值 = 0
计次循环首 (高度扫描范围, j)
' hk距离顶边不低于40, 取颜色RGB值
y坐标 = 40 + j
RGB = 到字节集 (位图.取某点颜色 (x坐标, y坐标))
' hk边缘 R值>250且G值>230 或者 R值>230且G值>250
判断 (RGB [1] > 250 RGB [2] > 230)
' 统计连续点
高度连续点数量 = 高度连续点数量 + 1
判断 (RGB [1] > 230 RGB [2] > 250)
' 统计连续点
高度连续点数量 = 高度连续点数量 + 1
判断 (RGB [2] > 252 RGB [3] > 252)
' 统计连续点
高度连续点数量 = 高度连续点数量 + 1


如果真 (高度连续点数量 > 高度连续点数量最大值)
' 记录当前最大值
高度连续点数量最大值 = 高度连续点数量
高度连续点数量最大值_y坐标 = y坐标

高度连续点数量 = 0

计次循环尾 ()
如果真 (高度连续点数量 > 高度连续点数量最大值)
' 记录当前最大值
高度连续点数量最大值 = 高度连续点数量
高度连续点数量最大值_y坐标 = y坐标

' 当前x坐标,高度连续点>0,15是阀值
如果真 (高度连续点数量最大值 > 2)
调试输出 (“x坐标”, x坐标, 高度连续点数量最大值)
如果真 (hk右边_x坐标 > 0 x坐标 < hk右边_x坐标 - 80)
hk左边_x坐标疑似 = x坐标
如果真 (高度连续点数量最大值 > 15 hk左边_x坐标 = 0 hk右边_x坐标 > 0 x坐标 < hk右边_x坐标 - 80)
hk左边_x坐标 = x坐标
如果真 (高度连续点数量最大值 > 15 hk右边_x坐标 = 0)
hk右边_x坐标 = x坐标


如果真 (hk左边_x坐标 > 0 hk右边_x坐标 > 0)
' 左右边已经找到,结束循环
跳出循环 ()

计次循环尾 ()
如果真 (hk左边_x坐标 = 0 hk左边_x坐标疑似 > 0)
hk左边_x坐标 = hk左边_x坐标疑似

' 为了方便观察,在y轴打上红色
如果真 (hk左边_x坐标 > 0)
计次循环首 (图_高度, j)
位图.置某点颜色 (hk左边_x坐标, j, 取颜色值 (255, 0, 0))
计次循环尾 ()
如果真 (hk右边_x坐标 > 0)
计次循环首 (图_高度, j)
位图.置某点颜色 (hk右边_x坐标, j, 取颜色值 (255, 0, 0))
计次循环尾 ()

' 返回hk中心位置
如果真 (hk右边_x坐标 > 0)
返回 (hk右边_x坐标 - 40)



.如果结束[/p]
[p=30, 2, left]返回 (0)


i支持库列表   支持库注释   
BmpOperate位图操作支持库
spec特殊功能支持库


通过上面的检测,终点的x坐标确定出来了

QQ图片20200411195619.png

2、终点x坐标确定后,接着模拟滑动轨迹,使其通过验证。

20200411_190245.gif

评分

参与人数 2好评 +1 精币 +4 收起 理由
冰棍好烫啊 + 1 + 2 新技能已get√
一曲离歌 + 2 新技能已get√

查看全部评分


本帖被以下淘专辑推荐:

结帖率:0% (0/1)
发表于 2024-10-20 21:11:57 | 显示全部楼层   重庆市重庆市
非常感谢
回复 支持 反对

使用道具 举报

结帖率:69% (11/16)

签到天数: 16 天

发表于 2024-7-1 08:44:10 | 显示全部楼层   广东省广州市
来学习的,感谢
回复 支持 反对

使用道具 举报

结帖率:100% (12/12)

签到天数: 2 天

发表于 2024-5-20 15:36:12 | 显示全部楼层   湖南省益阳市
错误(36): 找不到指定的对象成员命令名称“载入xx”。
编译现行易程序失败或被中止!
这个列子还得自己琢磨啊
回复 支持 反对

使用道具 举报

结帖率:90% (44/49)

签到天数: 15 天

发表于 2023-11-14 21:52:00 | 显示全部楼层   安徽省淮北市
验证码地址有吗
回复 支持 反对

使用道具 举报

发表于 2023-11-6 16:12:55 | 显示全部楼层   浙江省温州市
               
回复 支持 反对

使用道具 举报

签到天数: 14 天

发表于 2023-3-29 18:58:08 | 显示全部楼层   湖北省武汉市
感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-11-22 23:45:26 | 显示全部楼层   四川省成都市

感谢分享!!!!
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 9 天

发表于 2022-10-28 12:32:11 | 显示全部楼层   湖南省邵阳市
确实牛逼,可是载入xx哪来的
回复 支持 反对

使用道具 举报

签到天数: 11 天

发表于 2022-10-11 22:53:42 | 显示全部楼层   北京市北京市
感谢分享,收藏
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表