如果不存在的话, 就将左顶点left_point与右顶点right_point 中心作为平面中心点。
平台中心点检索详情见NextJumpPlat.py
步骤3: 计算距离并求得按压延时有意思的是延迟与距离并不是完全线形的, 随着距离的变大, 比例因子ratio也在变小。 $$ ratio = delay / distance$$
所以按照经验,用一条直线来拟合距离跟ratio之间的关系。
首先你需要确定两个点. 这两个参考点需要自己调参。
pt1 = (800, 1.4) # 距离是800像素的时候, ratio是1.4
pt2 = (300, 1.63) # 距离是300像素的时候, ratio是1.63
给定一个距离distance, 先求出来在这条直线上对应distance 处的比例因子ratio
然后再相乘得到延迟时间。
def distance2time(distance):
''' 距离与延迟时间不完全成正比,需要添加惩罚项 '''
print(distance)
pt1 = (800, 1.4)
pt2 = (300, 1.63)
ratio = pt1[1] - (pt1[1]-pt2[1])*(pt1[0]-distance)/(pt1[0]-pt2[0])
print("distance: %.2f ratio=%.2f"%(distance, ratio))
# 时间必须是整数类型
return int(distance * ratio)
准备工作预备0: ADB安装与手机配置安装ADB驱动与打开手机的USB调试功能
见教程 CH3.1_ADB安装过程与ADB部分指令介绍
注意: 电脑每次开机都需要重启adb server,手机每次断开连接都需要开启USB调试功能与PTP文件传输。 详情见教程CH3.1。
ADB的功能介绍,命令行使用说明,也在CH3.1_ADB安装过程与ADB部分指令介绍
为了能够在python中执行ADB指令,我们需要借助python的子进程subprocess 模块 。
在使用subprocess 之前, 你需要补习一些操作系统的基本概念, 例如什么是管道什么是进程等等。
操作系统基本概念,见教程CH3.2 补习操作系统中的基本概念
接下来你需要学习subprocess 模块使用
见教程CH3.3_subprocess模块的使用说明
我们用python对我们需要用到的几个功能 截图 与模拟点击 做了一个封装。 在教程CH3.3中也有详细说明。
代码见ADBHelper.py
预备1: 设定手机屏幕分辨率修改AutoJump.py 文件中
# 初始化ADBHelper 传入手机分辨率
adb = ADBHelper(1080, 1920)
预备2: 替换模板文件模板匹配不具备变尺度的特性, 如果你的手机分辨率跟我不相同, 就需要手机截图后,用SelectROI重新选取。替换little_chess.png
模板匹配教程,详见CH6.1模板匹配
预备3: Debug模式你可以在AutoJump.py 中开启或者关闭Debug模式。
预备4: 开发环境的搭建开发环境详细参数
·
os 不限,推荐使用linux(ubuntu,树莓派等)
·
·
python 3.6
·
·
numpy 1.13.3
·
·
opencv 3.3.0
·
小编配的树莓派的操作系统有编译好的最新的3.4.0 版本
如果你已经配置好了linux开发环境并安装好了opencv, 请跳过此部分
虚拟机镜像小编帮大家配好了带opencv运行环境的Ubuntu跟树莓派两个版本的操作系统。
镜像文件均可以在我们的会员群里下载。 树莓派的系统直接拷贝到SD卡中即可。
小编配好的Ubuntu虚拟机,你也可以一键导入VirtualBox。
详情见视频教程:
视频教程-第四节_使用Virtualbox导入小编配置好开发环境的虚拟主机
Linux配置教程如果你想自己配置的话,小编帮大家写好了详细的Ubuntu安装与配置说明。
建议大家在PC上浏览教程(PC上,bilibili的播放器才能正常使用)
在VirtualBox上安装Ubutu16-04的虚拟机
在本次教程里, 小编带大家安装VirtualBox, 介绍了一下VirtualBox与VMWare的不同之处. 教大家如何创建一个虚拟机, 如何分配物理资源等. 然后我们挂载Ubuntu16.04的镜像, 小编逐步教大家安装Ubuntu.课程最后, 你可以进入到你自己安装的Ubuntu桌面, 是不是很有成就感.
在Ubuntu下安装Anaconda科学计算包并运行python程序
在这节课, 小编带大家从Anaconda的官网下载sh安装文件, 并在本地运行它. 安装完成之后, 需要添加环境变量PATH到.bashrc下, 接下来我们测试一下anaconda是否安装成功. 最后, 小编给大家演示了, 安装Anaconda之后运行IPython与Jupyter Notebook 交互式编程环境.
Ubuntu下利用Anaconda安装opencv
这篇文章一来教大家如何使用anaconda 来搜索包, 添加channel , 二来也演示配置opencv开发环境的过程。 我们安装来自conda-forge , 我们选择的opencv版本是opencv=3.3.0. 另外, 当你安装完anaconda之后, 管理python包的工具就从pip转变为conda 文章写的比较仓促, 为anaconda指令讲解不是很详细, 请多包涵.
在VirtualBox虚拟机里使用Opencv获取USB摄像头的图像
在这一讲里, 小编将会带大家在virtualbox中运行opencv的程序, 并且读取u***摄像头的图像。 在运行程序之前, 你需要在VirtualBox上安装对应的拓展包. 然后, 小编还详细讲解了opencv中调用VideoCapture获取图像并展示在窗口的程序. 通过这篇文章的操作, 你可以检测你的USB设备是否可以在虚拟机里正常读取, 另外, 测试你配置的opencv开发环境是否正常.
运行代码进入工程根目录 ,并执行指令。
python AutoJump.py
嵌入式学习交流群:561213221
``