我正在做一个图片库,*投影在墙上*,在这里用户应该与手势交互。使用者将站在墙上的投影前。用户应该能够选择一张照片,返回主图库,并执行其他(未指定的)手势。
我有编程能力的c,c++和一些知识的opengl。我没有使用opencv的经验,但我认为我可以用它来识别用户的手势。
其基本想法是将一个摄像头放在用户面前(上或下墙矩形),用opencv处理视频流。
这可能不是最好的解决办法.所以出现了很多问题:
有参考有用的文件吗?我应该使用受控制的灯光环境吗?根据你的经验,相机的最佳位置在哪里?背墙是否更好(我的意思是这堵墙不会是真正的墙;-)
有不同的(更好的)解决方案吗?是否有任何设备可以直观地拦截用户的手势(例如xbox360 )?
非常感谢!马西莫
发布于 2011-02-28 14:52:15
我对OpenCV的人类检测没有太多的经验,但是对于任何工具来说,这都是一项艰巨的任务。你甚至没有说明你计划使用的人体的哪一部分.手势是否使用全身,只使用手臂和手等?
OpenCV有一些预定义的文件来检测整个人体、脸部、嘴巴等(在OpenCV源代码中寻找专用的.xml文件),您可能需要尝试它们。对于文档,正式的OpenCV文档是必须看到的:http://opencv.willowgarage.com/documentation/cpp/index.html,但当然,它是非常通用的。
控制周围的光线可能是有用的,但这取决于你将使用的方法。首先,找出合适的方法,根据你控制光线的能力做出选择。同样,相机的最佳位置将取决于方法,当然也取决于你计划使用的人体哪个部位。最后,请记住,OpenCV不是特别快--您可能需要使用一些OpenGL例程来加快速度。
如果你不准备只使用网络摄像头,你可能想看看Kinect SDK。这位官员应该只在明年春天发布,但你已经可以为Linux机箱找到东西了。
玩得开心!
https://stackoverflow.com/questions/5141031
复制相似问题