Motion Detection

Kvanto

Activity Bronze Автор
VIP
VIP
Сообщения: 414
Зарегистрирован: 26 янв 2011, 17:56
Награды: 3
Версия LabVIEW: 10.0

Motion Detection

Сообщение Kvanto »

Добрый день! Имеется программа распознавания движения в кадре камеры ну или видеофрагмента. Суть в том,
что с камеры берется соседние кадры (это можно настроить), каждые 5 кадров, затем эти изображения вычитаются,
и для усиления контраста эта разность домножается на константу. Потом от всего этого находится гистограмма и берется ее среднее значение.
Это среднее значение сравнивается с порогом и выдаются логический результат было движение или нет. Картинка вроде неплохая получается при движении.
Только вот на выходе гистограммы всего 0. В чем может быть дело?
MotionDetect IMAQdx_lv86.vi
(49.5 КБ) 314 скачиваний
Исправленный вариант
MotionDetect IMAQdx_lv86_испр.vi
(54.09 КБ) 407 скачиваний
Дополнение. Алгоритм Motion Estimation (Optical Flow)
Optical Flow (eyes) 10.rar
(1.74 МБ) 662 скачивания
Вложения
Снимок.PNG
Снимок1.PNG
Последний раз редактировалось Kvanto 08 мар 2013, 12:56, всего редактировалось 2 раза.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Motion Detection

Сообщение IvanLis »

Я с изображениями мало работаю, по этому зрительно сложновато... (а камеры у меня нет, что бы посмотреть).
Но могу предположить, что Вы вычисляете гистограмму от бинарного изображения, т.е. пиксель имеет всего два состояния (например False/True). Это может получиться при повышении контрастности, если взять большое значение коэф. Поиграйте его значением и посмотрите, как будет изменяться изображение.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: Motion Detection

Сообщение AndreyDmitriev »

Kvanto писал(а): Только вот на выходе гистограммы всего 0. В чем может быть дело?
Это оттого, что на вход IMAQ Histograph подаётся RGB картинка, из за чего возникает ошибка. Замените на Color Histogram и наступит счастье:
Motion.png
Kvanto

Activity Bronze Автор
VIP
VIP
Сообщения: 414
Зарегистрирован: 26 янв 2011, 17:56
Награды: 3
Версия LabVIEW: 10.0

Re: Motion Detection

Сообщение Kvanto »

AndreyDmitriev писал(а):
Kvanto писал(а): Только вот на выходе гистограммы всего 0. В чем может быть дело?
Это оттого, что на вход IMAQ Histograph подаётся RGB картинка, из за чего возникает ошибка. Замените на Color Histogram и наступит счастье:
точно в цель! :wink:
anda55
assistant
assistant
Сообщения: 149
Зарегистрирован: 19 янв 2012, 10:15
Версия LabVIEW: 2010-2012
Откуда: Киев
Контактная информация:

Re: Motion Detection

Сообщение anda55 »

У меня вопрос.
А если камера находится на улице: тень от облаков , движение листвы на деревьях.
как с этим быть ?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Motion Detection

Сообщение IvanLis »

anda55 писал(а):У меня вопрос.
А если камера находится на улице: тень от облаков , движение листвы на деревьях.
как с этим быть ?
1. настраивать порог срабатывания.
2. подобрать оптимальные номера кадров для сравнения.
Kvanto

Activity Bronze Автор
VIP
VIP
Сообщения: 414
Зарегистрирован: 26 янв 2011, 17:56
Награды: 3
Версия LabVIEW: 10.0

Re: Motion Detection

Сообщение Kvanto »

Ребята, кто может помочь пересохранить в 10 версии проект из LV 12? Только обязательно необходимо наличие
установленных IMAQ-функций, иначе не откроет.
Optical Flow.zip
(356.24 КБ) 247 скачиваний
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Motion Detection

Сообщение mzu2006 »

Одного IMAQ мало, нужен IMAQdx
Kvanto

Activity Bronze Автор
VIP
VIP
Сообщения: 414
Зарегистрирован: 26 янв 2011, 17:56
Награды: 3
Версия LabVIEW: 10.0

Re: Motion Detection

Сообщение Kvanto »

mzu2006 писал(а):Одного IMAQ мало, нужен IMAQdx
да. видимо так. тут наверное у Андрея Дмитриева есть такой набор)
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

Re: Motion Detection

Сообщение Viktor »

Kvanto писал(а):Ребята, кто может помочь пересохранить в 10 версии проект из LV 12?
Optical Flow (eyes) 10.zip
(303.04 КБ) 253 скачивания
Kvanto

Activity Bronze Автор
VIP
VIP
Сообщения: 414
Зарегистрирован: 26 янв 2011, 17:56
Награды: 3
Версия LabVIEW: 10.0

Re: Motion Detection

Сообщение Kvanto »

благодарю, Виктор! :super:
ESeid

Автор
advanced
advanced
Сообщения: 150
Зарегистрирован: 30 мар 2011, 22:41
Награды: 1
Версия LabVIEW: 8.2-2013
Контактная информация:

Re: Motion Detection

Сообщение ESeid »

Kvanto, а почему ты тащишь изображение через все инструменты? Тебя ведь интересует, в первую очередь, не оно само, а его обработка. Почему бы на первом же этапе не перевести изображение в числовой массив, а уж с ним вытворять все, что математика напридумывала для матриц? Причем, там не просто палитра операций больше, там и все действия идут быстрей.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Motion Detection

Сообщение IvanLis »

ESeid писал(а):Почему бы на первом же этапе не перевести изображение в числовой массив, а уж с ним вытворять все, что математика напридумывала для матриц?
:wink: а что по Вашему изображение? это и есть двумерный массив с некоторыми дополнительными данными...
ESeid писал(а):Причем, там не просто палитра операций больше, там и все действия идут быстрей.
Сомневаюсь, что там есть все необходимые функции...
Например вычисление гистограмм по составляющим RGB.
Можно конечно и самому на составляющие разложить, а потом вычислить гистограмму.
Но это получится значительнее медленней, нежели используя функции IMAQ.
Да и функции IMAQ устроены таким образом, что передается ссылка на изображение, а не изображение (массив).
Kvanto

Activity Bronze Автор
VIP
VIP
Сообщения: 414
Зарегистрирован: 26 янв 2011, 17:56
Награды: 3
Версия LabVIEW: 10.0

Re: Motion Detection

Сообщение Kvanto »

ESeid писал(а):Kvanto, а почему ты тащишь изображение через все инструменты? Тебя ведь интересует, в первую очередь, не оно само, а его обработка. Почему бы на первом же этапе не перевести изображение в числовой массив, а уж с ним вытворять все, что математика напридумывала для матриц? Причем, там не просто палитра операций больше, там и все действия идут быстрей.
я собственно этот пример только скачал с ni.com на днях.
ESeid

Автор
advanced
advanced
Сообщения: 150
Зарегистрирован: 30 мар 2011, 22:41
Награды: 1
Версия LabVIEW: 8.2-2013
Контактная информация:

Re: Motion Detection

Сообщение ESeid »

IvanLis писал(а): :wink: а что по Вашему изображение? это и есть двумерный массив с некоторыми дополнительными данными...
Только пока мы находимся в рамках одного инструмента. Как только мы переходим к SubVI, изображение будет передано полностью, как массив, и никакой экономии памяти не получится.
Сомневаюсь, что там есть все необходимые функции...
Например вычисление гистограмм по составляющим RGB.
Можно конечно и самому на составляющие разложить, а потом вычислить гистограмму.
Но это получится значительнее медленней, нежели используя функции IMAQ.
Да и функции IMAQ устроены таким образом, что передается ссылка на изображение, а не изображение (массив).
Инструмент SubVI General Histogram из пакета статистики дает не меньше, а больше возможностей. Неоднократно проверял сам: разложить изображение по RGB, а потом каждый массив крутить, как в голову взбредет - быстрей, чем все делать внутри функций IMAQ. Проверено обьективными замерами как самой ЛВ, так и риал-тайм процессами.
Впрочем\. если вся задача - просто вычислить гистограмму, то особой разницы нет. Другое дело, если делать более "хитрые" обработки изображения, типа вычисления трендов, разделения и подавления шумов изображения, восстановления дефектного изображения... То есть, везде, где возникает желание применить к обработке аппарат классической математики, или сигнал-процессинга, имеет преимущество числовая матрица. А уж в области FFT-преобразований аппарат IMAQ почти никакой.
Ответить

Вернуться в «Vision / IMAQ»