2016-10-06 9 views
1

То, что я сделал: Чтобы создать новый вид (правое изображение) из левого изображения (с учетом), я использовал формулу для чистого перевода между видами (из Zissermann книги), как:Расчет карты глубины правого изображения

x '= x + Kt/Z

x' = [u ' v' 1]; x = [u v 1]; K = [f 0 cx; 0 f cy; 0 0 1]; t = [t1 t2 t3]^T; Z - глубина пикселя в левом изображении

Изображения и матрица камеры были взяты из набора данных Middlebury stereo 2014.

Пользуясь этим, У меня есть изображение с отверстиями (черные области) из-за выключения.

Что мне нужно сделать:

Чтобы заполнить эти отверстия несколько алгоритмов, существуют, которые изменяют карту глубины правого зрения до коробления.

Можете ли вы рассказать мне, как я могу найти карту глубины моего синтезированного (правого) вида?

results matlab Это результат, который у меня есть до сих пор, пожалуйста, помогите!

ответ

0

Мой ответ на самом деле является обходным путем от Priyamvadha's previous question and my answer to it. Если у вас есть внешние/внутренние параметры и 3D-точки, подумайте об обратном процессе.

  1. преобразование (как вы сделали с моим предыдущим ответом) вся 3D точки в системе отсчета правой камеры (использование внешнего R и т, «реверсивная» преобразование)

  2. прямо сейчас что у вас есть все 3D-координаты в этой системе, помните, что значение Z сильно связано с несоответствием

  3. для каждой точки и ее координаты Z, то несоответствие должно быть равно

    D = (б * е)/Z

с базовой линией Ь и е фокусное расстояние от встроенных функций.
Вы должны получить синтезированное несоответствие для вашего синтезированного изображения. Свяжите каждое значение несоответствия с соответствующей прогнозируемой точкой в ​​синтезированном изображении.

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

PS Если у вас нет точки, глубина для черных дыр на изображении не будет.

+0

Большое вам спасибо! –