Алгоритм быстрого вращения плоскости? - PullRequest
4 голосов
/ 23 сентября 2008

Я работаю над приложением, которое обнаруживает наиболее заметный прямоугольник в изображении, а затем пытается повернуть его так, чтобы левый нижний угол прямоугольника оставался в исходной точке, подобно тому, как работает система IUPR OSCAR, Однако, как только обнаружен наиболее заметный прямоугольник, я не уверен, как учитывать компонент глубины или ось z, так как прямоугольник не всегда будет «лобовым». Любые примеры для дальнейшего моего понимания будет принята с благодарностью. Ниже приведен пример системы OSCAR IUPR.

альтернативный текст http://quito.informatik.uni -kl.de / oscar / oscar.php? Serverimage = img_0324.jpg & montage = использовать

Ответы [ 2 ]

3 голосов
/ 23 сентября 2008

В данном случае вам не нужно иметь дело с трехмерной информацией, это просто функция отображения, от одного набора координат к другому.

Посмотрите на аффинные преобразования, они способны исправлять простые эффекты перекоса и перспективы. Вы должны быть в состоянии найти где-нибудь код, который вычислит преобразование из 4 точек в углах вашего прямоугольника.

Почти забыл - если "быстрый" действительно важен, вы можете упростить систему, чтобы использовать только простые преобразования сдвига в комбинации, хотя это плохо скажется на качестве изображения для сильно наклоненных объектов.

2 голосов
/ 23 сентября 2008

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

  1. Как только у вас есть 2D координаты на скошенном изображении, измените эти координаты как координаты текстуры.

  2. В визуализаторе нарисуйте простой прямоугольник, в котором вершины каждого угла отображаются в виде текстуры на вершины, найденные на скошенном 2D-изображении (нормализуются и иным образом преобразуются в координатную плоскость текстуры вашей системы рендеринга).

Теперь вы можете полагаться на аппаратное обеспечение (используя OpenGL или подобное), чтобы сделать исправление для вас, или вы можете написать свой собственный текстурный преобразователь:

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

Перспективное наложение текстур Криса Хеккера

...