Motion Detection
Motion Detection
Добрый день! Имеется программа распознавания движения в кадре камеры ну или видеофрагмента. Суть в том,
что с камеры берется соседние кадры (это можно настроить), каждые 5 кадров, затем эти изображения вычитаются,
и для усиления контраста эта разность домножается на константу. Потом от всего этого находится гистограмма и берется ее среднее значение.
Это среднее значение сравнивается с порогом и выдаются логический результат было движение или нет. Картинка вроде неплохая получается при движении.
Только вот на выходе гистограммы всего 0. В чем может быть дело? Исправленный вариант Дополнение. Алгоритм Motion Estimation (Optical Flow)
что с камеры берется соседние кадры (это можно настроить), каждые 5 кадров, затем эти изображения вычитаются,
и для усиления контраста эта разность домножается на константу. Потом от всего этого находится гистограмма и берется ее среднее значение.
Это среднее значение сравнивается с порогом и выдаются логический результат было движение или нет. Картинка вроде неплохая получается при движении.
Только вот на выходе гистограммы всего 0. В чем может быть дело? Исправленный вариант Дополнение. Алгоритм Motion Estimation (Optical Flow)
Последний раз редактировалось Kvanto 08 мар 2013, 12:56, всего редактировалось 2 раза.
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: Motion Detection
Я с изображениями мало работаю, по этому зрительно сложновато... (а камеры у меня нет, что бы посмотреть).
Но могу предположить, что Вы вычисляете гистограмму от бинарного изображения, т.е. пиксель имеет всего два состояния (например False/True). Это может получиться при повышении контрастности, если взять большое значение коэф. Поиграйте его значением и посмотрите, как будет изменяться изображение.
Но могу предположить, что Вы вычисляете гистограмму от бинарного изображения, т.е. пиксель имеет всего два состояния (например False/True). Это может получиться при повышении контрастности, если взять большое значение коэф. Поиграйте его значением и посмотрите, как будет изменяться изображение.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- VIP
- Сообщения: 1327
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 38 раз
- Контактная информация:
Re: Motion Detection
Это оттого, что на вход IMAQ Histograph подаётся RGB картинка, из за чего возникает ошибка. Замените на Color Histogram и наступит счастье:Kvanto писал(а): Только вот на выходе гистограммы всего 0. В чем может быть дело?
Re: Motion Detection
точно в цель!AndreyDmitriev писал(а):Это оттого, что на вход IMAQ Histograph подаётся RGB картинка, из за чего возникает ошибка. Замените на Color Histogram и наступит счастье:Kvanto писал(а): Только вот на выходе гистограммы всего 0. В чем может быть дело?
-
- assistant
- Сообщения: 149
- Зарегистрирован: 19 янв 2012, 10:15
- Версия LabVIEW: 2010-2012
- Откуда: Киев
- Контактная информация:
Re: Motion Detection
У меня вопрос.
А если камера находится на улице: тень от облаков , движение листвы на деревьях.
как с этим быть ?
А если камера находится на улице: тень от облаков , движение листвы на деревьях.
как с этим быть ?
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: Motion Detection
1. настраивать порог срабатывания.anda55 писал(а):У меня вопрос.
А если камера находится на улице: тень от облаков , движение листвы на деревьях.
как с этим быть ?
2. подобрать оптимальные номера кадров для сравнения.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Re: Motion Detection
Ребята, кто может помочь пересохранить в 10 версии проект из LV 12? Только обязательно необходимо наличие
установленных IMAQ-функций, иначе не откроет.
установленных IMAQ-функций, иначе не откроет.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Motion Detection
Одного IMAQ мало, нужен IMAQdx
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
Re: Motion Detection
да. видимо так. тут наверное у Андрея Дмитриева есть такой набор)mzu2006 писал(а):Одного IMAQ мало, нужен IMAQdx
-
Viktor
- expert
- Сообщения: 1408
- Зарегистрирован: 23 мар 2008, 10:56
- Награды: 4
- Версия LabVIEW: 2020
- Откуда: Санкт-Петербург
- Благодарил (а): 17 раз
- Поблагодарили: 3 раза
- Контактная информация:
Re: Motion Detection
Kvanto писал(а):Ребята, кто может помочь пересохранить в 10 версии проект из LV 12?
-
- advanced
- Сообщения: 150
- Зарегистрирован: 30 мар 2011, 22:41
- Награды: 1
- Версия LabVIEW: 8.2-2013
- Контактная информация:
Re: Motion Detection
Kvanto, а почему ты тащишь изображение через все инструменты? Тебя ведь интересует, в первую очередь, не оно само, а его обработка. Почему бы на первом же этапе не перевести изображение в числовой массив, а уж с ним вытворять все, что математика напридумывала для матриц? Причем, там не просто палитра операций больше, там и все действия идут быстрей.
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: Motion Detection
а что по Вашему изображение? это и есть двумерный массив с некоторыми дополнительными данными...ESeid писал(а):Почему бы на первом же этапе не перевести изображение в числовой массив, а уж с ним вытворять все, что математика напридумывала для матриц?
Сомневаюсь, что там есть все необходимые функции...ESeid писал(а):Причем, там не просто палитра операций больше, там и все действия идут быстрей.
Например вычисление гистограмм по составляющим RGB.
Можно конечно и самому на составляющие разложить, а потом вычислить гистограмму.
Но это получится значительнее медленней, нежели используя функции IMAQ.
Да и функции IMAQ устроены таким образом, что передается ссылка на изображение, а не изображение (массив).
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Re: Motion Detection
я собственно этот пример только скачал с ni.com на днях.ESeid писал(а):Kvanto, а почему ты тащишь изображение через все инструменты? Тебя ведь интересует, в первую очередь, не оно само, а его обработка. Почему бы на первом же этапе не перевести изображение в числовой массив, а уж с ним вытворять все, что математика напридумывала для матриц? Причем, там не просто палитра операций больше, там и все действия идут быстрей.
-
- advanced
- Сообщения: 150
- Зарегистрирован: 30 мар 2011, 22:41
- Награды: 1
- Версия LabVIEW: 8.2-2013
- Контактная информация:
Re: Motion Detection
Только пока мы находимся в рамках одного инструмента. Как только мы переходим к SubVI, изображение будет передано полностью, как массив, и никакой экономии памяти не получится.IvanLis писал(а): а что по Вашему изображение? это и есть двумерный массив с некоторыми дополнительными данными...
Инструмент SubVI General Histogram из пакета статистики дает не меньше, а больше возможностей. Неоднократно проверял сам: разложить изображение по RGB, а потом каждый массив крутить, как в голову взбредет - быстрей, чем все делать внутри функций IMAQ. Проверено обьективными замерами как самой ЛВ, так и риал-тайм процессами.Сомневаюсь, что там есть все необходимые функции...
Например вычисление гистограмм по составляющим RGB.
Можно конечно и самому на составляющие разложить, а потом вычислить гистограмму.
Но это получится значительнее медленней, нежели используя функции IMAQ.
Да и функции IMAQ устроены таким образом, что передается ссылка на изображение, а не изображение (массив).
Впрочем\. если вся задача - просто вычислить гистограмму, то особой разницы нет. Другое дело, если делать более "хитрые" обработки изображения, типа вычисления трендов, разделения и подавления шумов изображения, восстановления дефектного изображения... То есть, везде, где возникает желание применить к обработке аппарат классической математики, или сигнал-процессинга, имеет преимущество числовая матрица. А уж в области FFT-преобразований аппарат IMAQ почти никакой.