本文首发于知乎文章【叽里咕噜白又白】:欢迎转载
本来是想研究使用 Python + OpenCV 识别图片的,结果有朋友问这个布洛克城能不能自动点击夺宝,正好拿来练练手 。灵感和代码参考来自 github 上:
微信《跳一跳》Python 辅助 github -> wangshub/wechat_jump_game
动图效果如下:
工具介绍
1. Python 3
2. Android 手机
3. Adb 驱动
4. Python + OpenCV 图片处理
使用说明
1. 安装 Python3
2. 安装 PyCharm
3. 使用 PyCharm block_city_ai 项目代码,
4. 安卓手机连接上电脑,打开列表页,并拖动到如下位置:
5. 右键 main.py 运行或使用命令行 python main.py 运行
原理说明
1. 将手机点击到《布洛克城》APP 的可夺宝的名单界面
2. 使用 ADB 工具获取当前手机截图
3. 使用 OpenCV 对截图进行处理并分析,找出有手掌的可点击区域的坐标
4. 使用 ADB 工具模拟点击事件,进入夺宝界面
5. 使用 ADB 工具获取当前手机截图
6. 使用 OpenCV 对截图进行处理并分析,找出目标点击区域的坐标
7. 使用 ADB 工具模拟点击事件,完成夺宝
8. 使用 ADB 工具模拟返回事件,回到可夺宝名单的界面,重复 2~8
最后
目前存在比较大的效率问题,这个跟识别的算法有关,以后有时间再慢慢优化了
该项目已放在了码云上 : gitee -> cnxiaoby/block_city_ai
领取专属 10元无门槛券
私享最新 技术干货