我看到有人制作了一个应用程序,可以使用摄像头跟踪你的脚,这样你就可以在 iPhone 屏幕上踢虚拟足球。
你怎么能做这样的事?有谁知道有关使用 iPhone 摄像头检测和跟踪对象的任何代码示例或其他信息?
我看到有人制作了一个应用程序,可以使用摄像头跟踪你的脚,这样你就可以在 iPhone 屏幕上踢虚拟足球。
你怎么能做这样的事?有谁知道有关使用 iPhone 摄像头检测和跟踪对象的任何代码示例或其他信息?
我刚刚在 SecondConf 上做了一次演讲,我演示了如何使用 iPhone 的摄像头使用 OpenGL ES 2.0 着色器来跟踪彩色对象。可以在此处找到伴随该演讲的帖子,包括我的幻灯片和所有演示的示例代码。
我编写的示例应用程序(其代码可从此处下载)基于 Apple 为在 WWDC 2007 上演示 Core Image 而制作的示例。该示例在 GPU Gems 3 书的第 27 章中进行了描述。
基本思想是,您可以使用自定义 GLSL 着色器实时处理来自 iPhone 摄像头的图像,确定哪些像素与给定阈值内的目标颜色匹配。然后,这些像素将它们的归一化 X、Y 坐标嵌入到它们的红色和绿色分量中,而所有其他像素都标记为黑色。然后对整个帧的颜色进行平均以获得彩色对象的质心,当它在相机视图中移动时,您可以对其进行跟踪。
虽然这并没有解决跟踪更复杂对象(如脚)的情况,但应该能够编写像这样的着色器来挑选出这样一个移动的对象。
作为对上述内容的更新,在我写这篇文章的两年里,我现在开发了一个开源框架,它封装了图像和视频的 OpenGL ES 2.0 着色器处理。最近添加的一个是 GPUImageMotionDetector 类,它处理场景并检测其中的任何类型的运动。作为简单回调块的一部分,它将返回它检测到的整体运动的质心和强度。使用这个框架来做到这一点应该比滚动你自己的解决方案容易得多。
我在 iPhone 上使用 OpenCV 成功跟踪了面部和眼睛。这是一个很好的起点: http: //niw.at/articles/2009/03/14/using-opencv-on-iphone/en
我想诀窍是找到一个描述脚的级联(相机应该寻找什么的描述),但不确定它是否存在。