Используйте фундаментальную матрицу для вычисления перевода координат с использованием OpenCV

Я пытаюсь вычислить соответствие координат нескольких точек между двумя изображениями. У меня есть группа точек, чьи соответствия известны, я использую их с OpenCVfindFundamentalMatrix() чтобы найти фундаментальную матрицу. Я подтвердил, чтоx^T * F * x' = (0) для каждой точки, и результат всегда правильный или очень близкий.

Дело в том, что теперь я хотел бы использовать координаты точки на первом изображении (y) и фундаментальная матрица (F) чтобы найти координаты точки на втором изображении (y'). Сначала я подумал о простом использовании уравнения выше, но учитывая толькоz изy' точка, может бытьбесконечность решений.

Как еще я могу использовать фундаментальную матрицу для вычисления переводов?

Чтобы быть более понятным: знание фундаментальной матрицы "связывание" две проекции, как я могу использовать его для перевода координат любой известной точки(a, b, 1) от первой проекции ко второй проекции?

Учитывая, что мы знаемa, b а такжеF в этом уравнении: (a ', b & quot ;, 1)T * F * (a, b, 1) = (0)

Я сделал простой рисунок в качестве примера:http://i.imgur.com/drNr2.jpg , Идея состоит в том, чтобы найти координаты красной точки(xq, yq) в проекции 2, учитывая, что мы знаем его координаты в проекции 1 и координаты всех других точек в обеих проекциях (и некоторых других, поскольку алгоритм для поиска фундаментальной матрицы фактически требует не менее 8 точек)

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

Я надеюсь, что это сделало мою проблему более ясной :)

Ответы на вопрос(2)

Ваш ответ на вопрос