Робот камера + обнаружение движения - PullRequest
0 голосов
/ 06 марта 2011

У меня есть проект, в котором мы (я и мой ученик) разработаем систему для робота. В этом роботе у нас есть камера, которая захватывает.

Мой вопрос - как определять движения, движения. Есть ли решение ?? Какую технику и инструменты использовать ?? Какой язык использовать (возможно для Java, например) ??

Заранее спасибо.

С уважением. Али

Ответы [ 4 ]

3 голосов
/ 06 марта 2011

Рассмотрите возможность использования OpenCV:

http://opencv.org

В него встроено множество полезных алгоритмов видения и поддерживается C, C ++ и Python, а также функциональность графического процессора.

2 голосов
/ 19 июня 2014

Я предложу вам Microsoft Visual Studio, которая является интегрированной средой разработки и языком программирования c #. Библиотека CV Emgu, которая является межплатформенной оболочкой .Net для библиотеки обработки изображений OpenCV. Простой метод из статической позиции таков:

Преобразование одного кадра в оттенки серого. Конвертируйте новые кадры из реального времени в оттенки серого. Сделайте абстракции между первым кадром и новым кадром из реального времени. Результатом этого является третий, новый кадр, состоящий из различий между первыми двумя. Используйте эрозию и пороговое значение для этого, чтобы получить рамку с белым цветом, представляющим перемещенный участок, и черным цветом, представляющим остальное пространство.

Если объекты, которые вы пытаетесь отследить, имеют различный цвет, вы должны быть в состоянии нацелить их адекватно.

Один из способов сделать это - выбрать подходящее пространство для цвета в качестве пространства RGB. Имейте в виду, что это может быть слишком чувствительным, даже к небольшой дисперсии освещения. (Это действительно зависит от объектов, которые вы хотите отслеживать, и сценария отслеживания.)

1 голос
/ 19 июня 2014

использование двух камер вместо одной может быть полезно в вашем проекте для определения глубины изображения и реального расстояния движения (в перспективе)

Стереоскопическое отображение глубины

Обнаружение в режиме реального времени независимого движения с использованием стерео

1 голос
/ 03 марта 2014

Вы можете использовать OpenCV

Здесь вы можете найти учебник по C ++: http://blog.cedric.ws/opencv-simple-motion-detection

...