0

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

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

谢谢!

4

4 回答 4

1

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

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

如果你结合这两种方法(图像和声音),它可能会得到你所需要的。

于 2009-12-15T17:02:43.627 回答
0

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

于 2009-12-15T17:01:11.637 回答
0

我想你已经弄清楚了——手机可能会保留图像 B 和图像 A 之间的差值超过某个预定义阈值的图像。

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

于 2009-12-15T17:04:34.937 回答
-1

我有这个应用程序。10 年前我为 Delphi 写了一个库,但分析是一样的。

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

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

于 2013-08-12T11:25:08.433 回答