Мне нужно реализовать программное обеспечение для отслеживания движущихся объектов в потоках изображений, используя алгоритм конденсации и библиотеку OpenCV. Я читал, что OpenCV включает в себя реализацию этого алгоритма, но я не нашел примеров или учебных пособий, которые объясняют, как использовать соответствующие функции, доступные в OpenCV.
cvCreateConDensation
функция выделяет CvConDensation
структура и требует размерности вектора состояния (dynam_params
) размерность вектора измерения (measure_params
) и количество образцов (sample_count
).
dynam_params
значение (т. е. количество координат равно 2 * S). Это правильно?sample_count
должно быть установлено количество частиц, которые будут использоваться для отслеживания объекта.measure_params
параметр? cvConDensInitSampleSet
Функция инициализирует выборочный набор для алгоритма конденсации. Какое правило используется для инициализации набора образцов? Какой дистрибутив используется для инициализации набора образцов? Учитывая начальную позицию и ограничивающий прямоугольник отслеживаемого объекта, как эта функция инициализирует набор выборок?
Какая функция выполняет полное взаимодействие (Выбрать, прогнозировать а также измерениеб) алгоритма? Как обновляются образцы?
Есть ли учебник, который подробно объясняет, как использовать функции, доступные в OpenCV?
Рабочий пример алгоритма конденсации можно найти в Q&А из opencv и ross (того же автора):
http://answers.ros.org/question/55316/using-the-opencv-particle-filter-condensation/
а также
http://answers.opencv.org/question/6985/syntax-for-particle-filter-in-opencv-243/
Вот другая реализация фильтра частиц, и использовались библиотеки OpenCV и GSL. Исходный код, предоставленный автором, легко читается. Может быть, вы можете узнать что-то из этого.