2

我正在制作一个照片库*投影在墙上*,用户应该在其中与手势交互。用户将站在墙壁投影前。用户应该能够选择一张照片,返回主图库并进行其他(未指定)手势

我有 C、C++ 编程技能和一些 opengl 知识。我没有使用 opencv 的经验,但我想我可以用它来识别用户手势。

原始想法是在用户面前放置一个网络摄像头(在墙壁矩形的上方或下方)并使用 opencv 处理视频流

这可能根本不是最好的解决方案......所以出现了很多问题:

任何参考有用的文档?我应该使用受控灯光环境吗?根据您的经验,最佳相机位置在哪里?将墙向后投影可能会更好(我的意思是墙不会是真正的墙;-))

任何不同的(更好的)解决方案?是否有任何设备可以直观地拦截用户手势(例如 xbox360)?

非常感谢!马西莫

4

1 回答 1

1

我在使用 OpenCV 进行人体检测方面没有太多经验,但是使用任何工具,这都是一项艰巨的任务。您甚至没有指定您计划使用人体的哪些部位......手势使用全身,仅手臂和手等?

OpenCV 有一些预定义的文件来检测完整的人体、面部、嘴巴等(在 OpenCV 源代码中查找专用的 .xml 文件),您可能想尝试一下。对于文档,必须查看官方 OpenCV 文档:http: //opencv.willowgarage.com/documentation/cpp/index.html但当然,它非常笼统。

控制环境光可能很有用,但这取决于您将使用的方法。首先,找到合适的方法,根据自己对光线的控制能力做出选择。同样,相机的最佳位置将取决于方法,当然也取决于您计划使用的人体部位。最后,请记住 OpenCV 并不是特别快,您可能需要使用一些 OpenGL 例程来加快速度。

如果您准备不只使用网络摄像头,您可能需要查看 Kinect SDK。官方应该只在明年春天发布,但你已经可以找到适用于 Linux 机器的东西了。

玩得开心!

于 2011-02-28T14:52:15.250 回答