【问题标题】:Motion Sensing by Camera in iOSiOS 中的相机动作感应
【发布时间】:2013-09-05 10:05:24
【问题描述】:

我正在开发 iOS 中的一个应用程序,如果相机检测到图像中的某些变化或者我们可以说图像中的运动,它将发生一个事件。这里我不是在问人脸识别或特定的彩色图像运动,当我搜索时,我得到了 OpenCV 的所有结果,而且我还发现我们可以通过使用陀螺仪和加速度计来实现这一点,但是如何呢??

我是iOS的初学者。所以我的问题是,有没有什么框架或简单的方法可以通过相机检测运动或运动感应。以及如何实现?

例如,如果我将手移到相机前,它会显示一些消息或警报。

请给我一些有用且易于理解的链接。 谢谢

【问题讨论】:

  • 这不是官方回答,but there are lots of rumors iOS 7 将包含某种运动检测功能。
  • 那么有没有办法实现这个 MichaelDautermann。
  • 我没有说@Shyam;我所说的是,运动检测可能会在短短几周内变得更加容易。您也可以搜索一下是否已经存在一些 SDK 或开源解决方案。

标签: ios opencv camera


【解决方案1】:

如果你想要的只是某种粗略的运动检测,我的开源 GPUImage 框架内有一个 GPUImageMotionDetector。

这个公认的简单运动检测器基于低通滤波器进行逐帧比较,并且可以识别帧之间发生变化的像素数量和变化区域的质心。它适用于实时视频,我知道有些人使用它来激活他们 iOS 应用程序中的功能。

因为它依赖于像素差异,而不是光流或特征匹配,所以它很容易出现误报,并且无法在离散对象在一帧中移动时对其进行跟踪。但是,如果您只需要基本的运动感应,则很容易将其放入您的应用程序中。查看 FilterShowcase 示例,了解它在实践中的工作原理。

【讨论】:

  • 当我尝试运行 FilterShowCase 示例时,它在 GPUImageBilateralFilter.m 文件中显示错误: - 使用未声明的标识符 '_distanceNormalizationFactor' 这里我使用的是 Xcode 4.3.3,然后我在 Xcode 4.1 中尝试过它显示如下错误:-未知类型名称'__unsafe_unretained'@Brad Larson
  • weak-link Core Video框架是什么意思???你写在框架的介绍部分。 @布拉德·拉尔森
  • @ShyamDixit - Xcode 4.1 在这一点上相当古老,不要将它用于任何事情。你需要 ARC 支持这个框架才能工作,我推荐 Xcode 4.4 或更高版本。此外,请使用存储库中的最新代码,因为 distanceNormalizationFactor 属性已在旧 Xcode 版本中正确定义,但几个月前已修复。在最新的 Xcode 中,要弱链接某些东西,请在 Link Binary With Libraries 构建阶段将框架的状态从 Required 更改为 Optional。
  • 如何像舞蹈应用程序那样做运动传感器......就像图像来了,用户必须这样做......
【解决方案2】:

我不太明白你的意思:

这里我不是在问人脸识别或特定颜色 图像运动,因为我在搜索时得到了 OpenCV 的所有结果

但我建议你使用 opencv,因为你可以在 IOS 中使用 opencv。这是一个很好的链接,可以帮助您setup opencv in ios

网上有很多opencv运动检测代码,这里是one among them,大家可以利用一下。

您需要将UIImage(IOS 中的图像类型)转换为cv::MatIplImage 并将其传递给opencv 算法。您可以使用this linkthis 进行转换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    相关资源
    最近更新 更多