Стерео_match.cpp example преобразует изображения L и R в неравномерность и облако точек. Я хочу адаптировать этот пример для вычисления несоответствия и облака точек из двух последовательных кадров одиночной калиброванной камеры. Является ли это возможным? Если этот пример не подходит для моего объема, каковы шаги для получения того, что я хочу?Карта несоответствий из 2 последовательных кадров одной калиброванной камеры. Является ли это возможным?
ответ
Да, если камера (или сцена) двигается
диспаритета карты, на стерео-системе, используется для получения информации о глубине - расстояния до объектов в сцене. Для этого вам нужно расстояние между камерами, чтобы иметь возможность конвертировать информацию о различиях в реальные размеры.
С другой стороны, если у вас есть последовательные кадры со статической камеры, я полагаю, вы хотите разницы между ними. Вы можете получить его с помощью алгоритма оптического потока. Плотный оптический поток рассчитывается для каждого пикселя в изображении, так же как и несоответствие, и выводит направление движения и величину. Наиболее распространенные OF являются разреженными - они отслеживают только набор «сильных» или четко определенных точек.
Возможно, имеет смысл получить алгоритмы несоответствия, если у вас есть статическая сцена, но вы перемещаете камеру, имитируя две камеры в стереоустановке.
Да, я перемещаю свою откалиброванную камеру и снимаю видео со статическим объектом. каковы шаги для получения карты несоответствия из двух последовательных кадров этого видео? – Fobi
@Fobi - точно так же, как стереоустановка. Определите совпадающие точки (например, SURF) и решите вектор перемещения камеры, то для каждой точки соответствия в сцене у вас есть несоответствие и базовая линия –
решить для вектора перемещения камеры? Можете быть более конкретными? Какую функцию OpenCV я должен использовать? – Fobi