Детектор движения объектов
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
Детектор движения объектов
Как определить в какую сторону проиходит движение объектов перед камерой ? Я пробовал использовать IMAQ LineProfile и определял в какую сторону сместился минимум, но это не всегда работает т.к. (если объекты движутся слева на право и минимум смещается вправо относительно предыдущего положения, то иногда появляется еще меньшее значение слева и сигнал что движение справа налево. Может кто может подсказать (аллгоритм) как сделать детектор движения объектов с определением в какую сторону?
-
Forward
- professional
- Сообщения: 337
- Зарегистрирован: 03 мар 2008, 12:41
- Награды: 3
- Версия LabVIEW: 2010
- Откуда: Кишинев
- Контактная информация:
Re: детектор движения объектов
К сожалению, никогда этим не занимался, так что конкретно не скажу.
Но одним LineProfile тут не отделаешься. Прежде всего тебе нужно путем различных фильтраций выделить изображение, которое ты отслеживаешь (в простейшем случае - все черное, твое изображение белое пятно). Ну а далее уже ищешь центр масс этого пятна например.
Насколько я помню при установки Vision модуля появляется много примеров, в которых показано как выделять изображения. Посмотри туда.
Но одним LineProfile тут не отделаешься. Прежде всего тебе нужно путем различных фильтраций выделить изображение, которое ты отслеживаешь (в простейшем случае - все черное, твое изображение белое пятно). Ну а далее уже ищешь центр масс этого пятна например.
Насколько я помню при установки Vision модуля появляется много примеров, в которых показано как выделять изображения. Посмотри туда.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: детектор движения объектов
alexander756,
1. выделить фон, вычесть его (или иначе удалить)
2. считать центр масс своего объекта.
2а. Либо считать корреляцию последовательных изображений, тогда (x,y) максимума в корреляционной картинке - (x,y) вектора перемещения.
2б. Если перемещение минимальное - то сделать из камеры квадратичный детектор, разбив её на 4 ROI.
1. выделить фон, вычесть его (или иначе удалить)
2. считать центр масс своего объекта.
2а. Либо считать корреляцию последовательных изображений, тогда (x,y) максимума в корреляционной картинке - (x,y) вектора перемещения.
2б. Если перемещение минимальное - то сделать из камеры квадратичный детектор, разбив её на 4 ROI.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
Re: детектор движения объектов
У меня это либо текст либо картинки либо то и другое вместе и всегда изображение черно-белое, и это все движется быстро. Я еще попробую преобразовать изображение в цифровой график (0:1) и потом определять смещение границ белое-черное
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: детектор движения объектов
А можно увидеть пример картинки? Это какой нибудь типографический станок с видеонаблюдением?
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: детектор движения объектов
да, хотелось бы увидеть. Предлагаю alexander756 покрутить её в Vision Assistant либо в JImage (бывш. NIH Image)eg писал(а):пример картинки
имеет смысл если нет полутонов и только при предварительно проведённой нормализации освещённостиalexander756 писал(а):Я еще попробую преобразовать изображение в цифровой график (0:1) и потом определять смещение границ белое-черное
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
Re: детектор движения объектов
Это типографический станок и хочется установить видеокамеру чтобы отслеживать движение бумаги и в некоторых случаях останавливать станок.eg писал(а):А можно увидеть пример картинки? Это какой нибудь типографический станок с видеонаблюдением?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: детектор движения объектов
Так тебя больше интересует смещение влево вправо линии с бумагой?
Кстати эта проблема на самом деле не тривиальная, знаю непонаслышке. Если вал с огромным диаметром сдвигается хоть на градус, вся линия улетает и остановка линии длится из за несущего момета очень долго. Бумаги уходит огого...
Наша фирма разработала для этого систему синхронизации валов - т.е. калибрация направлений валов друг к другу. Но к теме это имеет малое отношение, видеонаблюдение требуется для раннего распознавания такого случая.
Кстати эта проблема на самом деле не тривиальная, знаю непонаслышке. Если вал с огромным диаметром сдвигается хоть на градус, вся линия улетает и остановка линии длится из за несущего момета очень долго. Бумаги уходит огого...
Наша фирма разработала для этого систему синхронизации валов - т.е. калибрация направлений валов друг к другу. Но к теме это имеет малое отношение, видеонаблюдение требуется для раннего распознавания такого случая.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: детектор движения объектов
Я предложил бы нанести специальную маркировку на вал (не исключено сто она там уже есть) илиeg писал(а):Если вал с огромным диаметром сдвигается хоть на градус
если речь идёт о действительно микроскопических смещениях (микроны) - какой-нить интерферометр ...
alexander756 покажи картинку
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
Re: детектор движения объектов
mzu2006 писал(а): alexander756 покажи картинку
Картинка простая, перед камерой движется бумага с текстом и рисунками
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: детектор движения объектов
Надо посмотреть на гистограмму, освещённость, на характерные контуры итд итп. Что-то определённое советовать безalexander756 писал(а): Картинка простая, перед камерой движется бумага с текстом и рисунками
картинки я не берусь
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
Re: детектор движения объектов
Я уже разобрался с тем как определять в какую сторону движется бумага с текстом и картинками. Я получаю два кадра, затем на первом кадре сохраняю какую-то область как template а на втором кадре ищу его и затем сравниваю координаты, но если бумага движется очень быстро, то возникают проблемы, так как нет ничего общего между двумя кадрами.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: детектор движения объектов
Т.е. реально считается cross-correlation.alexander756 писал(а):Я получаю два кадра, затем на первом кадре сохраняю какую-то область как template а на втором кадре ищу его и затем сравниваю координаты
Если действительно нет ничего общего - то никак и не определить :)alexander756 писал(а):нет ничего общего между двумя кадрами
Может камеру побыстрее взять (если освещённость позволяет, конечно).
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: детектор движения объектов
А на самом деле mzu2006 предложил отличный вариант. Разместить на вале разметку и определить её в программе. Как только разметка исчезает останавливать станок. Очень логично и легко выполнимо.