2009-12-15 3 views
0

В AppStore я видел не менее 6 приложений, которые фотографируют при обнаружении движения (т. Е. Своего рода шпионский материал). Кто-нибудь знает, что такое общий способ сделать это с помощью iPhone SDK?Обнаружение движения с помощью iPhone

Я предполагаю, что их приложения берут фотографии каждые X секунд и сравнивают текущее изображение с предыдущим, чтобы определить, есть ли какая-либо разница (читать «движение»). Любые лучшие идеи?

Спасибо!

ответ

1

Возможно, вы также можете использовать микрофон для обнаружения шума. На самом деле, сколько детекторов движения системы безопасности работает, но они слушают ультразвуковые звуковые волны. Успех этого во многом зависит от чувствительности микрофона iPhone и от того, какой доступ к API вам нужен. Если микрофон недостаточно чувствителен, прослушивание обычного шума человеческого слуха может быть достаточно хорошим для ваших нужд (хотя это не «истинное» обнаружение движения).

Что касается изображений - посмотрите на использование своего рода алгоритма редактирования строки-редактирования-расстояния, но для изображений. Что-то, что делает снимок каждые Х промежутков времени и сравнивает его с предыдущим сделанным снимком. Если изображения слишком разные (слишком большое расстояние редактирования), тогда звучит сигнал будильника. Это будет объяснять медленные изменения дневного света и, вероятно, будет работать лучше, чем использование одного эталонного изображения в начале периода наблюдения, а затем сравнение всех других изображений с этим.

Если вы объедините эти два метода (изображение и звук), оно может получить то, что вам нужно.

+1

Быстрое примечание: быть гибким с вашим изображением-редактированием-расстоянием. Все цифровые камеры имеют шум, что делает две, казалось бы, идентичные фотографии на самом деле довольно разными на уровне бит. Если света недостаточно, камера автоматически увеличит чувствительность ISO, создавая больше шума. Если вы не устали от этого, ваше приложение может работать хорошо в дневное время, но вызывать ложные тревоги ночью. –

0

Возможно, телефон обнаружил изменения освещения, что означает использование датчика в верхней части телефона. Я просто не знаю, как вы получите доступ к этой части телефона.

0

Я думаю, что вы о нем поняли - телефон, вероятно, хранит изображения, где дельта между изображением B и изображением A находится над некоторым предопределенным порогом.

Чтобы выполнить анализ, вам нужно найти библиотеку изображений, написанную в Objective-C.

+0

Кто-нибудь знает такую ​​библиотеку? – coneybeare

-1

У меня есть this приложение. Я написал библиотеку для Delphi 10 лет назад, но анализ - same.

Цель состоит в том, чтобы сделать матрицу из всего экрана, например. 25x25, а затем сделать средний цвет для каждой ячейки. После этого сравните R, G, B, H, S, V среднего цвета с одного изображения на другой, и если разница больше, чем установлена, у вас есть движение.

В моем приложении я использую фрагментарный шейдер для отображения движения в реальном времени. Любой вопрос, не стесняйтесь спрашивать;)

Смежные вопросы