自动玩微信“跳一跳”的python工具,支持失败后自动重新开始游戏,enjoy~
- 利用adb获取屏幕信息
- 利用python下opencv库的模板匹配、边缘提取、水漫法提取跳跃的起点、终点坐标
- 计算跳跃的像素距离,再将其转化为按压时间
- 最后通过adb控制手机运动。
这里重点说下第二步骤,获取起点、终点坐标
1、模板匹配,获得小人的位置,做固定偏移即可得到起点,如图红星所示
3、对边缘做扩散,防止有小的缝隙,并得到顶点向下偏移一定值的种子坐标,如图红星所示
4、以种子点为基础,用漫水法得到连通区域,并计算区域的中心点,为目标点,如图蓝星所示
- python3.5
- adb, 将源文件中的“/Users/lichzhang/Library/Android/sdk/platform-tools/adb”修改为本机adb路径
- opencv、numpy、matplotlib
- 第285行的距离到按压时间的调整系数 w 需要根据自己的机型做调整