我看到有人制作了一个应用程序,可以使用摄像头跟踪你的脚,这样你就可以在 iPhone 屏幕上踢虚拟足球。
你怎么能做这样的事?有谁知道有关使用 iPhone 摄像头检测物体并跟踪它们的任何代码示例或其他信息吗?
我刚刚在 SecondConf 上做了一次演讲,在那里我演示了如何使用 iPhone 的摄像头使用 OpenGL ES 2.0 着色器来跟踪彩色对象。可以找到该演讲附带的帖子,包括我的幻灯片和所有演示的示例代码here http://www.sunsetlakesoftware.com/2010/10/22/gpu-accelerated-video-processing-mac-and-ios.
我编写的示例应用程序,其代码可以从以下位置下载here http://www.sunsetlakesoftware.com/sites/default/files/ColorTracking.zip,基于 Apple 制作的用于在 WWDC 2007 上演示 Core Image 的示例。该示例在GPU Gems 3 书中的第 27 章 http://http.developer.nvidia.com/GPUGems3/gpugems3_ch26.html.
基本思想是,您可以使用自定义 GLSL 着色器实时处理来自 iPhone 摄像头的图像,确定哪些像素与给定阈值内的目标颜色匹配。然后,这些像素将其标准化 X、Y 坐标嵌入到其红色和绿色颜色分量中,而所有其他像素则标记为黑色。然后对整个帧的颜色进行平均以获得彩色对象的质心,您可以在它在相机视图上移动时对其进行跟踪。
虽然这并不能解决跟踪脚等更复杂对象的情况,但应该能够编写这样的着色器来挑选出这样的移动对象。
作为对上述内容的更新,自从我写这篇文章以来的两年里,我现在已经开发了一个开源框架 https://github.com/BradLarson/GPUImage封装了图像和视频的 OpenGL ES 2.0 着色器处理。最近添加的内容之一是 GPUImageMotionDetector 类,它处理场景并检测其中的任何类型的运动。它将作为简单回调块的一部分返回给您检测到的整体运动的质心和强度。使用这个框架来做到这一点应该比滚动您自己的解决方案容易得多。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)