2010-11-18 2 views
5

Проблема, которую мы пытаемся решить, вопрос о размещении точки в двух разных представлениях плоскости. Первая плоскость, которую мы имеем, поворачивается для создания перспективы; второй - это 2-й вид этой же плоскости. У нас есть 4 балла по каждому из планов, которые, как мы знаем, эквивалентны. Вопрос в том, есть ли у нас произвольная точка в плоскости 1, как найти соответствующую точку в плоскости 2?Как я могу проецировать произвольную плоскость, обозначенную 4 точками на 2d-плоскость?

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

Projective plane

alt text

2D схема расположения пространства

alt text

Так данность, что у нас есть, красные квадраты с обеих картин. Обратите внимание, что, если это возможно, я бы хотел, чтобы 2D-пространство не обязательно было квадратом. Они доступны нам заранее и известны. У меня также есть зеленые точки, выложенные на плоскости в первом изображении. Я хотел бы иметь возможность сделать проекцию точки в изображении 1 на пространство на изображении 2.

Примечание также для изображения 1 У меня нет определенного окна или положения глаз. Я просто знаю, что красный квадрат из изображения 1 представляет собой преобразование изображения квадратного квадрата 2 и что изображение 2 находится в 2D пространстве.

+0

Это может быть возможно, если у вас есть (x, y, z) для ваших фотоснимков ... или если вы ПРИНИМАЕТ некоторые z ... –

+2

Если вам нравится OpenCV, эта проблема известна как поиск гомографии ('cv :: findhomography'). Когда это будет сделано, любая точка вашего первого изображения будет отображена во второе представление, применяя «x» = Hx' в однородных координатах. –

ответ

6

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

Perspective Transform Estimation

a gaming forum discussion

extracting a quadrilateral image to a rectangle

Projective Warping & Mapping

ProjectiveMappings for ImageWarping Пол Heckbert.

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

+0

Первая ссылка была очень полезной, спасибо. – Scott

Смежные вопросы