【按键精灵安卓版】二值化过QQ滑块验证「源码分享」

2020-03-03  本文已影响0人  3分钟学堂郭立员

  测试设备:雷电模拟器 540*960 dpi 240

  基本原理:

  把滑块验证图片转化成0和1的二值化图片,也就是黑白图

  原图

  二值化后的图片

  然后找滑块序列,匹配成功,就找到滑块位置了

  代码分享:

  Dim r,g,b,m,s,y,k,d,GetColor

  dim p=0

  Dim q=0

  KeepCapture

  For j= 195 To 479

  For i = 21 To 518

  GetColor = GetPixelColor(i,j)

  ColorToRGB(GetColor,r,g,b)

  y=r+g+b

  If 384 - y > 50 Then

  k =0

  Else

  k=1

  End If

  d=d&k

  Next

  s = InStr(260, d,

"100000000000000000000000000000000000000000000000000000000000000001")

  m = InStr(260, d,

"10000000000000000000000000000000000000000000000000000000000000001")

If 0

  p = p + 1

  If p = 6 Then

  Exit For

  End If

  End If

If 0

  q = q + 1

  If q = 6 Then

  Exit For

  End If

  End If

  d=""

  Next

  ReleaseCapture

  TracePrint s,m

  If s > m Then

  For i = 0 To 5

  TracePrint s+21

  Next

  else

  For i = 0 To 5

  TracePrint m+21

  Next

  End If

  我在写这个代码的时候,发现每张图的滑块也有差别,一共找到两个滑块序列,所以后期我在代码优化上面做了两个序列值。

  相较于我的实战第一课的过滑块方法,这种方法更加便捷,不用获取所有验证图的原图。

  同时识别速度很快,不到1秒钟。

上一篇下一篇

猜你喜欢

热点阅读