Есть ли алгоритм для решения такой проекционной геометрии реконструкции?

У нас есть сетка с красными квадратами. Это означает, что у нас есть массив из трех квадратов (с углами = 90 град), которые, как мы знаем, имеют одинаковый размер, лежащий на одной плоскости и с тем же вращением относительно плоскости, на которой они лежат, и не расположены на одной линии на самолет.

Мы имеем проекцию пространства, содержащего плоскость с квадратами.

im 1

Мы хотим превратить нашу плоскостную проекцию с квадратами, чтобы мы видели ее так, как она стоит перед нами, в общем случае нам нужна формула для поворота каждой точки этой исходной проекции плоскости, чтобы она была обращена к нам, как на изображении ниже.

Какие формулы могут быть использованы для решения такой проблемы, как ее решить, кто-нибудь сталкивался с чем-то вроде этого раньше?

im 2

Ответ 1

Это частный случай нахождения отображений между четырехугольниками, которые сохраняют прямые. Они обычно называются гомографическими преобразованиями. Здесь один из квадратиков - квадрат, поэтому это популярный частный случай. Вы можете использовать эти термины ( "quad to quad" и т.д.), Чтобы найти объяснения и код, но вот некоторые из них.

Оценка перспективного преобразования

обсуждение игрового форума

извлечение четырехстороннего изображения в прямоугольник

Проективное деформирование и отображение

ProjectiveMappings для ImageWarping Пол Хекберт.

Математика не особенно приятна, но это тоже не так сложно. Вы также можете найти код из одной из приведенных выше ссылок.