1

我最近开始玩星际争霸 II,我想出了一个对我来说比游戏本身更有趣的问题。

游戏中控制相机的方式有3种:

  1. 键盘键 [上][下][左][右]
  2. 用鼠标滚动屏幕边缘
  3. 按住鼠标中键滚动

我更喜欢键盘滚动,因为它很流畅。我不喜欢用鼠标滚动时相机移动的方式。

使用键盘滚动时,您的左手忙于滚动并且很难使用其他热键。我希望我有更多的手来做相机滚动。

我的屏幕顶部还有一个网络摄像头。我想到了一个使用网络摄像头作为传感器的想法。

有没有一种简单的方法可以通过网络摄像头区分颜色或方向?我看到的实现如下:用四种颜色绘制匹配的每一侧,每个方向一种颜色:上、下、左、右。将火柴放入口中,舌头向上、向下、向左和向右移动。

如果网络摄像头可以区分这些颜色,那将是一个完美的操纵杆来进行向上、向下、向左和向右移动。

我想在星际争霸 II 中使用它,但一旦实现它就可以在其他游戏和任何其他项目中使用。

我可以做一些Python。

是否有任何可编程解决方案可以将网络摄像头变成传感器?

4

2 回答 2

0

访问http://openkinect.org/wiki/Python_Wrapper并获取一些代码。使用包装器来区分运动(基本是用另一帧测量一个帧并计算某个 mean_value(oldPixelArea, newPixelArea) 的方向,这将为您提供控制。)。

下一步是向星际争霸提交击键,如果我对暴雪足够了解,这本身就是不允许的。但是你可以使用:https ://code.google.com/p/pywinauto/

如果您没有 kinnect 相机(或不想要)。基本上你必须自己实现一切。从读取图像帧(一个接一个),分析 3 维运动或只是一个闪电不会有太大差异的选定区域,并将其用作“修复”指向阅读方向的动作。

Pygame 可以读取网络摄像头数据,所以这将是一个好的开始: http: //www.pygame.org/docs/tut/camera/CameraIntro.html

于 2013-04-29T07:24:40.523 回答
0

我建议你检查一下 OpenCV,它是一个非常好的计算机视觉库。它们具有多种语言的绑定,包括 Python。

您将找到一些教程和代码示例,它们将帮助您编写人脸检测/跟踪软件,例如:

于 2013-04-29T07:50:00.440 回答