采用opencv 和c++ 实现跳一跳,原理大概如下
1-检测小人的位置,使用模板匹配函数。matchTemplate
2-如果可以检测到小圆点,使用模板匹配函数。matchTemplate
3-如果不能检测到小圆点,则计算下一个物体中心。步骤如下
①对图片进行模糊
②canny进行边缘检测
③消除小人周围的检测到的直线,否则对下一步会有影响
④从左向右从上到下搜索,找到第一个白点的位置A,确定中心的X方向坐标
⑤根据第四步检测到的像素坐标,找到A位置向下的3个像素的RGB三个分量
⑥根据上步检测到的RGB三个分量,在图片中找到相同的像素,根据小人的位置,分别从不同的方向搜,找到中心的Y坐标。
4-检测到小人位置和待跳物体的坐标,准备模拟按压屏幕。
5-截屏分析
以下是源代码,在代码中有详尽的解释说明。
https://download.csdn.net/download/mengxiangpeng123/10353268