2016-01-25 3 views
0

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

Пример - У меня есть iphone, указывающий на стену - отслеживая его с помощью motionDetector. Если я откажу теннисный мяч от стены - я хочу, чтобы приложение разместило изображение теннисного мяча на дисплее iphone в том же месте, что и в стене.

Для этого мне нужны координаты, где произошло движение. Я подумал, может быть, аргумент «центроида» сделал это ... но я не уверен.

ответ

0

Следует отметить, что детектор движения довольно груб. Он работает, беря фильтрованную версию видеопотока с низкой пропускной способностью (составное изображение, генерируемое средневзвешенным количеством входящих видеокадров), а затем вычитает это из текущего видеокадра. Знаки, которые отличаются от определенного порога, отмечены. В результате обеспечивается количество этих пикселей, а также центроид отмеченных пикселей.

Центроид - это нормализованная (0.0-1.0) координата, представляющая центр тяжести всех этих разных пикселей. Нормализованная сила дает вам процент пикселей, отмеченных как отличающиеся.

Движение в сцене, как правило, может привести к тому, что куча пикселей будет отличаться, а для одного движущегося объекта центроид будет в целом центром этого объекта. Однако это не является надежной мерой, так как изменения освещения, тени, другие движущиеся объекты и т. Д. Также могут привести к тому, что пиксели будут отличаться.

Для правильного отслеживания объектов вы хотите использовать функции обнаружения и отслеживания алгоритмов. К сожалению, опубликованная структура не имеет полностью реализованной версии любого из них в настоящее время.

+0

Спасибо, что ответили на Брэда. Для моих целей, как бы преобразовать нормализованные координаты в координаты экрана? Альтернативой тому, что я хочу сделать, было бы сделать снимок в тот момент, когда происходит движение. – JoeC

+0

@JoeC - Умножить их на размер изображения, отображаемого на экране. –