2013-05-23 5 views
0

Может ли OpenCV использоваться для расчета плотного оптического потока с использованием метода Lucas Kanade? Я знаю о функции в модуле gpu/ocl, которая может это сделать (gpu :: PyrLKOpticalFlow :: dense), но существует ли не-gpu эквивалент этой функции?Lucas Kanade плотный оптический поток

Я также знаю о Farneback и телевизоре L1, но мне нужны LK/пирамидальные LK для моих исследований.

ответ

2

Вы можете найти без графического процессора видеоанализа функциональность документации OpenCV here

Существует реализация разреженного итерационного метода Lucas-Kanade с пирамидами (в частности, из this paper). Эта функция называется calcOpticalFlowPyrLK, и вы создаете связанные пирамиды (ы) через buildOpticalFlowPyramid. Обратите внимание, однако, что он указывает, что это для разреженных наборов функций, поэтому я не знаю, какая разница, которая сделает для вас, если вам нужен плотный оптический поток.

3

Нет. На самом деле нет хорошего метода извлечения плотного оптического потока. Я столкнулся с той же проблемой (адвекция частиц по оптическому потоку, правда?)

Существует функция, которая оценивает оптический поток с помощью метода Farneback [1], но это дает мне плохие результаты. Он не использует ocl или gpu.

Вы можете попробовать с помощью phaseCorrelate извлечь его с помощью алгоритма, основанного на сдвиге. Я использовал этот метод. Когда я загружу его в github, я дам вам ссылку.

[EDIT]

Вот код. Я решил отделить алгоритм фазовой корреляции от всего проекта, чтобы сделать его более понятным: https://github.com/MatteoRagni/OpticalFlow Пожалуйста, звездочка, если вы собираетесь его использовать.

+0

О, пожалуйста, сделайте это! – berak

+0

На самом деле я использовал метод TV-L1 для расчета плотного оптического потока. OpenCV имеет хорошую реализацию. Это дает лучшие результаты, чем Farneback, но при значительных эксплуатационных расходах. –

+0

@ barak. Я сделаю это до конца месяца, и я опубликую здесь ссылку на проект. Если вам нравится, и вы считаете, что используете его, можете ли вы его зажечь? –

Смежные вопросы