Перспективная трансформация

Мне даны X, Y, Z местоположения 4 углов в прямоугольнике и их X, Y местоположения на картинке. Я хотел бы использовать эти места, чтобы найти угол камеры с прямоугольником. Например, если я смотрю на прямоугольник с дальнего правого края, он будет выглядеть как трапеция с правым краем, намного длиннее левого. Таким образом, я чувствую, что должен быть алгоритм, который может найти углы, под которыми я нахожусь относительно прямоугольника.

Я пишу на Android, и я использую библиотеки opencv и opengl. Я видел соответствующие алгоритмы в opencv, но они не делают именно то, что мне нужно. Любой полезный совет будет принята с благодарностью.

2 ответа

Решение

Я обнаружил, что метод solvePnP в opencv будет делать именно то, что мне нужно.

Посмотрите на 3D-проекцию и попробуйте вывести обратные алгоритмы. Также прочитайте FAQ по OpenGL, так как это часто задаваемый вопрос.

Или взгляните на главу "Просмотр" Красной книги ( ссылка на Amazon). В частности, последний заголовок - это то, что вы спросили.

Другие вопросы по тегам