Обнаружение движения с помощью iPhone - PullRequest
0 голосов
/ 15 декабря 2009

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

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

Спасибо!

Ответы [ 4 ]

1 голос
/ 15 декабря 2009

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

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

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

0 голосов
/ 12 августа 2013

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

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

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

0 голосов
/ 15 декабря 2009

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

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

0 голосов
/ 15 декабря 2009

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

...