Я вычисляю оптический поток (OF) с помощью функции OpenCV calcOpticalFlowPyrLK для точек, которые я отслеживал ранее. Это работает как надо. Теперь я пытаюсь получить относительную глубину Z.
Для этого я попытался использовать следующие 2 уравнения для u и v:
(Tz*x - Tx*f) (Tz*y - Ty*f)
u = ______________ v = _____________
Z Z
Я пропустил вращательную часть уравнения, потому что я предполагаю, что у меня есть чистый перевод.
Решил оба уравнения сверху для Z и попытался вычислить Z со значениями (координатами) i, полученными на предыдущем шаге вычисления КА.
Моя проблема в том, что я получаю 2 разных значения Z в результате.
На мой взгляд, глубина должна быть одинаковой для обоих?
Я искал больше информации о том, как я могу решить свою проблему, и нашел хороший бумага за исключением того, что я думаю, что они смешали Farnback и LK в своих анализах производительности.
Насколько я понимаю математика, лежащая в основе уравнения (4, стр. 4), это то же самое, что и уравнение выше, только в матричном представлении. Я попытался это решить, а также с вышеупомянутыми значениями, и я получил матрицу 2×2 в качестве результата. Не знаю, что я должен делать с 4 значениями Z?!
Надеюсь, кто-то может объяснить, что я делаю неправильно, и направить меня в правильном направлении, чтобы я смог получить правильное значение Z (глубину) из OF. Спасибо!
Задача ещё не решена.
Других решений пока нет …