欢迎大家来到IT世界,在知识的湖畔探索吧!
大家好,我是公众号3分钟学堂的郭立员,今天继续我们的按键精灵安卓版教程讲解,这一期我们来讲一下“过一个点击屏幕上指定图案验证”的案例。
验证的样子
验证通过机制
点击彩色图片,在画面中可以看到三类彩色内容:
①底图的红包领取图案
②上方的彩色动物
③“彩色图片”这几个文字
点击彩色动物就可以通过验证。
脚本思路分享
通过我们的分析,第二类的彩色动物是我们要点击的对象,但是我们画面中一共有三类彩色图片,那么必须把它们区分开。
步骤一:
脚本查找的范围限制在下图中的红框内,这样就可以避免彩色文字的影响。
步骤二:
排除底图红包图案的影响,这里可以用亮度来区分,因为底图颜色很暗,具体思路是:
(1)遍历像素获取整个区域的颜色值
(2)把颜色的rgb三个分量提取出来,然后加在一起得到颜色的“亮度”
(3)把亮度值和中性灰进行比较,亮度值小于中性灰的颜色点是底图,亮度值大于中性灰的颜色点就是动物图案上的颜色点。(中性灰是白色和黑色之间的中间值灰色)
脚本源码(二值化部分)
Dim c,d,e,f KeepCapture For j = 55 To 455 d="" For i = 14 To 527 c = GetPixelColor(i, j) e = ColorDiff("000000", c) If e > 384 Then f = 1 Else f=0 End If d=d&f Next TracePrint d Next ReleaseCapture
欢迎大家来到IT世界,在知识的湖畔探索吧!
临时测试,变量定义的比较随意,大家可以忽略这个细节。
测试结果
输出有效坐标源码
欢迎大家来到IT世界,在知识的湖畔探索吧!Dim c,d,e,f KeepCapture For j = 55 To 455 d="" For i = 14 To 527 c = GetPixelColor(i, j) e = ColorDiff("000000", c) If e > 384 Then f = 1 TracePrint "有效坐标",i,j Else f=0 End If // d=d&f Next Next ReleaseCapture
彩色动物中有大量颜色点,这里面是所有有效的坐标值,可以任选一个点击。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/74878.html