使用iPhone进行运动检测

时间:2009-12-15 16:56:33

标签: iphone ios core-motion

我在AppStore中看到至少有6个应用程序在检测到动作时拍摄照片(即一种间谍内容)。有谁知道使用iPhone SDK做这种事情的一般方法是什么?

我猜他们的应用程序每X秒拍摄照片并将当前图像与之前的图像进行比较,以确定是否有任何差异(阅读“动作”)。有更好的想法吗?

谢谢!

4 个答案:

答案 0 :(得分:1)

您也可以使用麦克风来检测噪音。这实际上是多少安全系统运动探测器工作 - 但他们听取超声波声波。这种成功在很大程度上取决于iPhone的麦克风灵敏度以及您对信号的API访问方式。如果麦克风不够灵敏,那么聆听常规的人类听觉范围噪音可能足以满足您的需求(尽管这不是“真正的”运动检测)。

对于图像 - 使用某种字符串编辑距离算法,但是对于图像。每X个时间拍摄一张照片的东西,并将其与之前拍摄的图像进行比较。如果图像太不同(编辑距离太大),则警报响起。这将解释日光的缓慢变化,并且可能比在监视期开始时拍摄单个参考图像然后将所有其他图像与之比较更好。

如果将这两种方法(图像和声音)结合起来,它可以为您提供所需的信息。

答案 1 :(得分:0)

您可以让手机检测到灯光变化,这意味着使用手机正面顶部的传感器。我只是不知道你将如何访问手机的那部分

答案 2 :(得分:0)

我认为你已经弄明白了 - 手机可能会保留图像B和图像A之间的增量超过某个预定义阈值的图像。

您必须找到用Objective-C编写的图像库才能进行分析。

答案 3 :(得分:-1)

我有this申请。我10年前为Delphi写了一个库,但分析是same

重点是从整个屏幕制作一个矩阵,例如25x25,然后为每个单元格制作平均颜色。之后,比较一张图片与另一张图片的平均颜色的R,G,B,H,S,V,如果差异大于设定值,则表示您有动作。

在我的应用程序中,我使用片段着色器实时显示动作。任何问题,随时问;)