Обнаружение движения камеры с OpenCV

Я работаю над стабилизацией дронов рядом со стенами с помощью камеры. Чтобы это работало, мне нужно извлечь движение, которое камера делает относительно стены. Сейчас я использовал расширенный пример OpenCV, который использует goodFeaturesToTrack Команда для поиска характерных точек в каждом кадре. Эти характерные точки затем отслеживаются в следующем кадре с помощью calcOpticalFlowPyrLK который использует метод Лукаса-Канаде. Затем я вычитаю точечные местоположения, чтобы вычислить смещение. Сложение всех смещений вместе дает мне полное смещение от первого кадра. (в промежутке я сделал усреднение и фильтрацию).

Результаты, которые я получаю, совсем не похожи на движение камеры. Движение идет в любом направлении. Кто-нибудь знает, что происходит? Я использую неправильный алгоритм для такой проблемы?

1

Решение

Я думаю, что стандартный пример из opencv samples / cpp / phase_corr.cpp должен помочь.

0

Другие решения


По вопросам рекламы [email protected]