2012-01-31 4 views
3

Стерео_match.cpp example преобразует изображения L и R в неравномерность и облако точек. Я хочу адаптировать этот пример для вычисления несоответствия и облака точек из двух последовательных кадров одиночной калиброванной камеры. Является ли это возможным? Если этот пример не подходит для моего объема, каковы шаги для получения того, что я хочу?Карта несоответствий из 2 последовательных кадров одной калиброванной камеры. Является ли это возможным?

ответ

1

Да, если камера (или сцена) двигается

+0

Да, я перемещаю свою откалиброванную камеру и снимаю видео со статическим объектом. каковы шаги для получения карты несоответствия из двух последовательных кадров этого видео? – Fobi

+1

@Fobi - точно так же, как стереоустановка. Определите совпадающие точки (например, SURF) и решите вектор перемещения камеры, то для каждой точки соответствия в сцене у вас есть несоответствие и базовая линия –

+0

решить для вектора перемещения камеры? Можете быть более конкретными? Какую функцию OpenCV я должен использовать? – Fobi

2

диспаритета карты, на стерео-системе, используется для получения информации о глубине - расстояния до объектов в сцене. Для этого вам нужно расстояние между камерами, чтобы иметь возможность конвертировать информацию о различиях в реальные размеры.

С другой стороны, если у вас есть последовательные кадры со статической камеры, я полагаю, вы хотите разницы между ними. Вы можете получить его с помощью алгоритма оптического потока. Плотный оптический поток рассчитывается для каждого пикселя в изображении, так же как и несоответствие, и выводит направление движения и величину. Наиболее распространенные OF являются разреженными - они отслеживают только набор «сильных» или четко определенных точек.

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