求此图中的投影游戏,里面有狼人杀丘比特游戏规则

最近,微信小游戏“跳一跳”很火,看着朋友圈里别人晒出的图,我这个手残党十分不是滋味,于是我就想,能不能利用图像处理,做一个全自动的外挂呢。说罢,直接动手。
Ps:以下内容的部分步骤在实验过程中我是使用了多种方案进行比较的,限于篇幅,这里只给出表现较好的一种。最终的成品识别的结果并不是太精确,在下才疏学浅,还望各位大佬不吝赐教。
关于控制方面,由于这个程序是运行在PC机上的,我没有移植到手机端,为了控制微信的游戏,我使用USB线连接电脑和安卓手机,然后使用了一个可供电脑控制手机的软件,如Total
Control。这样,程序透过Total Control就可以实现在手机上模拟点击的目的。
关于程序语言的选择,我使用的是C++语言,利用了OpenCV库作图像处理,WindowsAPI模拟鼠标点击。
以下是算法分析。
首先是明确输入输出,输入很清楚,那就是游戏画面。至于输出,玩过“跳一跳”的人都知道,操作者只需要控制按下的时间长短,无需其他操作,所以算法的输出就是按下到松开的时间间隔。
其次是时间的计算,网上已经有很多大神分析过了,点击间隔时间T与跳跃的距离L近似为线性关系。这里直接套用这个结论。得到
其中,T的单位是毫秒,L的单位是像素长度,经过本人手工测试,k的值大概是4.3到4.5。
于是问题就转换为由输入图像,求解棋子底座中心到下一个跳台中心的距离。这个问题又可以进一步分解为求解棋子底座中心坐标和求解下一个跳台平面中心坐标。
于是,算法的流程如下:
其中,计算距离是很简单的数学问题,这里不作详述,重点放在棋子坐标识别与跳台中心识别上,下面分两部分对其进行说明。
1、棋子坐标识别
跳一跳简洁的画风使分离棋子异常简单,由于棋子与背景具有鲜明的对比,这里无需训练分类器。如果做过手势分割的人就知道,通过肤色可以把手从背景中分割出来,这里使用类似的原理。
从游戏可知,棋子的颜色是固定的,为紫色,具有明暗变化,针对该特点,这里我把图像从RGB空间映射到HSV空间,以色调H作为分割依据,根据实验统计,棋子部分的H的区间为[100,135]。这里拿一幅图进行测试,得到如下结果:
这里,有一个问题是要注意的,游戏界面的上部的分数,菜单图标,以及下面的邀请围观按钮有可能会对分割造成影响,而棋子和跳台均集中在画面的中间位置,因此,处理图像时,应先把图片的上部和下部的去掉。这在下面的所有操作均适用,下面不再重复。
有一种特殊情况,当遇到紫色礼盒跳台时,由于跳台和棋子的色调接近,将使分割无法正确进行。
因此,我们必须要对分割加一个约束,以解决这种情况,幸运的是,我发现,该礼盒与棋子在明度上还是有很大的差别的,所以,这里加一个明度约束,取V满足[0,150]。实验结果如下
于是,棋子的分割区间应该是H:[100,135],V:[0,150]。
棋子分割出来后,就是坐标的计算了,这里采用了一种很简单粗暴但很有效的办法,求解重心再按图像大小往下偏移。
首先是根据分割图片,求解棋子的重心,然后,把重心按照采样图片的大小加一个往下的偏移量移到棋子的底部中心位置即可。由于棋子的大小是固定的,所以偏移量也是固定的,具体数值多少跟采样图片大小有关。由此,棋子底座中心坐标识别完成,下面是实验结果,输出坐标在图片中用红色圈标出。
2、跳台中心的识别
这一部分相对较麻烦。主要的原因是跳台种类繁多,颜色各异,大小不一,形状各异。有些跳台的跳台平面是纯色的,但是有些诸如魔方、音乐盒等则有复杂的图案。各种干扰为识别带来了麻烦。
这里可以换一个角度,我们最终的目的是提取出跳台的跳台平面中心,而不是识别跳台本身的种类,因此并没有从图像中分割出跳台并识别的必要性。这里先明确一个概念,跳台是指整个物体,跳台平面指的是该跳台供棋子立足的平面,比如,纸盒本身是跳台,跳台平面就是它的上表面。我试图从全局图像入手解决这个问题。
首先要做的是背景去除,一开始我猜测背景是纯色或者明度渐变的,后来实验的结果显示并不是那么一回事,渐变是两种颜色的渐变。这个就有点坑了。经过一番折腾后,下面给出解决方案。
我从图像的边缘附近的背景处,取了两个点,一个在图像上方,一个在下方,两者在同一列。然后我把这两点间的像素的各个通道的变化绘制出来,纵坐标是通道值,横坐标是标号。经过多次试验,可以发现在背景的纵向,颜色各通道值与所在点的y坐标呈线性关系。
而在横向,我发现背景中同一行的像素值不变。
基于上述实验结果,我在背景的上下方各取一点,计算出两点的RGB三个通道各自与行索引y的线性方程的斜率k。
于是可得到
遍历全图,把每一个像素的实际值与使用上面公式计算得到的计算值进行对比,若误差少于某一阈值,则判定该点为背景点。处理效果如下:
成背景去除后,我们还要进一步把棋子从图上去掉,以防干扰。这里操作很简单,直接使用棋子分割得到的图片取反后与待处理图片作与运算即可,为了保证棋子的去除没有残留,可以适当对棋子分割图执行膨胀后再进行操作。结果如下:
从这步开始对跳台平面的中心进行定位。为了方便说明,我把执行上述步骤后得到的图像执行二值化(实际程序中这步没有必要),取白色为1,黑色为0.
首先,经过观察,可以得到几个前置结论。
(1)无论跳台是纯色的还是有图案的,是盒子还是圆桌或是牛奶瓶,跳台平面在屏幕上的投影无非就是两种情况,一种是菱形,一种是椭圆形。且菱形的短对角线和椭圆的短轴均与Y轴平行。
(2)无论何种跳台,其跳台平面在屏幕上的投影均位于该跳台整体投影的最上方。
(3)无论何种跳台,无论起始跳台与目标跳台的距离长短,目标跳台在屏幕上投影的最高点总比起始跳台在屏幕上投影的最高点要高。(这个其实并不是绝对的,只是在该游戏中极少会出现)
基于以上结论,执行以下操作:
从图片的第一行起,往下逐行扫描,寻找不为0的像素点。
根据前置结论3,扫描过程中碰到的第一个为1的点属于目标跳台。
根据前置结论2,扫描过程中碰到的第一个为1的点位于目标跳台的跳台平面上。
根据前置结论1,扫描碰到的第一个为1的点的x坐标与跳台平面中点的x坐标相等。把该点设为P1。
这里要做一个修正,由于分辨率的原因,实际上扫描线与图形相切的切点往往不只一个,所以实际的操作应该是取相切行中所有连续的为1的点的中点作为P1。
然后分两种情况:
第一种是P1位于棋子坐标Pchess的右边(P1.x & Pchess.x)。这时从P1开始,沿着跳台平面的边缘向右走(x增大的方向),到达第一个拐点(x的取值由增加到减小或不变的点)停下,取该点为P2。
具体的操作方法是,从P1处往右扫描,直至到像素点为0的点停下,记下该点的x坐标,设为a0,从该点处下移一行,往右扫描操作,直至到像素点为0的点停下,记下该点的x坐标,设为a1···重复上述操作,直至a的极大值出现,那么P2的坐标就是(an,P1.y+n)。
第二种情况是P1位于棋子坐标Pchess的左边(P1.x &&Pchess.x),这种情况与上面的操作是类似的,不同的是,从P1开始,沿着边缘往左走(x减小的方向),取第一个拐点(x的取值由减小到增加或不变的点)为P2。
可知,P2.y与跳台平面的中点的y坐标相等。由此可得,跳台平面中点坐标
PMiddle为(P1.x,P2.y).
上述方法对菱形和椭圆均适用,实验结果中对于菱形识别的准确度较高,基本可以定到中心,椭圆的情况稍差,但也基本满足要求,下面是最终识别结果,用红色圈在原图中标出结果如下:
经过上述步骤后,就已经可以求出棋子坐标,和跳台平面中心坐标了,然后求解两点距离,再根据公式求出点击时间,用以控制即可。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:78次
排名:千里之外想知道一款玩过得丘比特小游戏的名字_百度知道
想知道一款玩过得丘比特小游戏的名字
想知道一款玩过得丘比特小游戏的名字是一款冒险类小游戏,应该是国外的小游戏,刚开始自己就是丘比特,然后要用爱神箭射中应该是情侣的一对,记得刚开始是一个护士和医生,很久以前玩的了,不记得是什么名字了。求名字
我有更好的答案
街机游戏!
下边的 你家开的?
发一大堆垃圾上来丢人呀!说实话 楼主的游戏 我好像玩过 不过很懵懂了
是在说不上来!
采纳率:87%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。机械制图 点的投影 求此图哪有错误_百度知道
机械制图 点的投影 求此图哪有错误
我有更好的答案
//e除A点外,其它都错了。改后如下.hiphotos.baidu.com/zhidao/wh%3D450%2C600/sign=aa06c9d20acf/1f178a82bd13fafbee11:
采纳率:83%
为您推荐:
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。我记得是一个视频的小游戏 里面有追女的很多结局 有一个结局貌似是把天使追到了 他自己是丘比特,求大神告_百度知道
我记得是一个视频的小游戏 里面有追女的很多结局 有一个结局貌似是把天使追到了 他自己是丘比特,求大神告
我有更好的答案
丘比特追女
采纳率:5%
丘比特追女
丘比特追女
为您推荐:
其他类似问题
小游戏的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。求此图形的三面投影图_百度知道
求此图形的三面投影图
我有更好的答案
采纳率:80%
来自团队:
为您推荐:
其他类似问题
投影的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 六间房的丘比特游戏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信