我最近开始玩星际争霸II,然后我想出了一个对我来说比较有趣的问题。
在游戏中有三种控制相机的方法:
我更喜欢键盘滚动,因为它很流畅。我不喜欢用鼠标滚动时相机移动的方式。
使用键盘滚动会出现左手忙于滚动的问题,并且很难使用其他热键。我希望我还有一只手可以进行相机滚动。
我的屏幕顶部还有一个网络摄像头。我想到了将网络摄像头用作传感器的想法。
是否有一种简单的方法可以区分颜色或与网络摄像头的方向?我看到的实现如下:用四种颜色绘制匹配的每一面,每个方向一个:向上,向下,向左,向右。将比赛放入口中,然后用舌头向上,向下,向左和向右移动。
如果网络摄像头可以区分这些颜色,它将成为完成向上,向下,向左和向右移动的完美操纵杆。 p>
我想在星际争霸II中使用它,但一旦实施,它可以用于其他游戏和任何其他项目。
我可以做一些Python。
是否有可编程解决方案将网络摄像头变成传感器?
答案 0 :(得分:0)
转到http://openkinect.org/wiki/Python_Wrapper并获取一些代码。 使用包装器来区分运动(基础是用另一个框架测量一个框架并计算某个mean_value(oldPixelArea,newPixelArea)的方向,这将为您提供控制。)。
下一步是向星际争霸提交击键,如果我对暴雪有足够的了解,就不允许进行击球。 但是你可以使用:https://code.google.com/p/pywinauto/
如果你没有kinnect相机(或者不想要一个)。 你必须自己实现一切...... 一切都是从阅读图像帧(逐个),分析三维运动或只是一个闪电不能相差太多的选定区域,并用它作为“固定”点来读取方向的运动。
Pygame可以读取网络摄像头数据,因此这将是一个良好的开端: http://www.pygame.org/docs/tut/camera/CameraIntro.html
答案 1 :(得分:0)
我建议您查看OpenCV,这是一个非常好的计算机视觉库。它们具有许多语言的绑定,包括Python。
您将找到几个教程和代码示例,可帮助您编写面部检测/跟踪软件,例如: